Galera ja fiz relatorios com struts porem agora houve a necessidade de gerar relatorio atraves do vraptor mais nao estou conseguindo aplicar o codigo que eu tinha feito no outro sistema, esta dando erro de referencia ao metodo. O codigo é esse:
A linha que esta com problema é essa:
String pathJasper = getServlet().getServletContext().getRealPath("/ireport/") + "/";
Erro de referencia no getServlet();
RamalService ramalService = new RamalService();
List rsRamal = ramalService.selectRamalAll(ramal);
HttpServletResponse response;
String pathJasper = getServlet().getServletContext().getRealPath("/ireport/") + "/";
String path = getServlet().getServletContext().getRealPath("/");
Map parametros = new HashMap();
parametros.put("SUBREPORT_DIR", pathJasper);
try {
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(rsRamal);
JasperPrint impressao = JasperFillManager.fillReport(pathJasper +"/ramal.jasper", parametros, ds);
if(impressao.getPages().isEmpty()){
}else{
byte[] bytes = JasperExportManager.exportReportToPdf(impressao);
byte[] arquivo = bytes;
String nomeDoArquivo = "Demonstrativo_Mensal_Parcelas_p_Contrato.pdf";
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition", "attachment; filename=".concat(nomeDoArquivo));
response.setContentLength(arquivo.length);
ServletOutputStream sos = response.getOutputStream();
sos.write(arquivo, 0, arquivo.length);
sos.flush();
sos.close();
}
} catch (Exception e) {
if (e.getClass().getSimpleName().equals("ClientAbortException")) {
} else {
System.out.println("Outros");
}
}