Galera, tenho o seguinte metodo.
public void testeRelatorio() {
DemandBO demandBO = new DemandBOImpl();
Collection<Demand> demands = null;
try {
demands = demandBO.searchDemandWaiting();
// Localiza o contexto da pasta onde esta localizado o .jasper
String pathJasper = context.getRealPath("WEB-INF/report/") + "/";
// Recebe a lista populada
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(demands);
// pega o ds + a conexao para ir ate o ireport para listar dentro do relatorio
JasperPrint impressao = JasperFillManager.fillReport(pathJasper + "/tese.jasper", null, ds);
//JasperPrint print = JasperFillManager.fillReport(caminho, null, new JRBeanCollectionDataSource(demands));
// exportacao do relatorio para outro formato, no caso PDF
JasperExportManager.exportReportToPdfFile(print, "rel/RelatorioGerdson.pdf");
System.out.println("Relatório gerado.");
} catch (JRException e) {
e.printStackTrace();
} catch (BOException e) {
result.include("erroMessage", new ErroMessage(e.getMessage()));
e.printStackTrace();
} catch (ApplicationException e) {
result.forwardTo(ErrorController.class).returnException(new ErroMessage(e.getMessage()));
e.printStackTrace();
}
}
A duvida é como fazer, poi observei alguns exemplos no fórum e utiliza ServletContext :
ex: http://www.guj.com.br/java/122447-resolvido-relatorios-ireport--vraptor
Tem alguma forma de fazer sem utilizar context, só utilizado o metodo da controller do vraptor???