Para resolver essa situação, escrevi um código utilizando JSON + Ajax + Dwr que resolveu meu problema.
- Criei uma ƒunção javascript que chama uma servlet passando um objeto Json como atributo do request.
- A Servlet convert esse objeto JSON em um arquivo csv e devolve como resposta.
Segue trecho de código:
//função javascript
function exportarGridReclamacoesExcel()
exibirCarregando(true);
var REQUEST;
if (window.XMLHttpRequest) {
REQUEST = new XMLHttpRequest();
} else if (window.ActiveXObject) {
REQUEST = new ActiveXObject("Microsoft.
}
REQUEST.open('POST', '/sistema/modulo/
REQUEST.setRequestHeader('
var objetoJson = JSON.stringify(
REQUEST.send(objetoJson);
if(REQUEST.readyState == 4 && REQUEST.status == 200) {
alert(REQUEST.responseText);
exibirCarregando(false);
}
//código da servlet
protected void processRequest(
// PrintWriter out = response.getWriter();
try{
response.setContentType("text/
response.setHeader("Content-
response.setHeader("pragma","
response.setHeader("pragma","
response.setHeader("Cache-
response.setHeader("Cache-
String tipoExportacao = request.getParameter("
String conteudoExportacao = (String) request.getAttribute("
JSONArray listaObjetos = new JSONArray(conteudoExportacao);
Writer fw = new OutputStreamWriter(response.
fw.write("Data Reclamação;Login;Numero da Reclamação;Número da Linha;Plano;Reclamação;
fw.flush();
fw.close();
}catch (Exception ex) {
ex.printStackTrace();
// fw.println("Erro ao tentar gerar relatório dos grids\n" + ex.getMessage());
}finally {
//fw.close();
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP
POST
method.* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
Referências dos problemas:
http://www.w3.org/TR/
http://www.zachhunter.com/
http://www.zachhunter.com/
http://www.ibm.com/
http://www.ibm.com/
http://www.json.org/
Nenhum comentário:
Postar um comentário