Alguem sabe como criar um arquivo .jasper sem fazer uma conecxao e que to passando os dados por arraylist, eu consigo fazer mas so pegando os campo do banco, acho meio estranho vc ter que fazer dados no banco para criar um campo novo.
Jasper com Collections é bem parecido, so que voce nao precisa criar uma query no Ireport.
Para criar o jasper é só compilar o relatório que ele gera o .jasper, onde estiver parametrizado nas preferências do iReport.
Agora para executar você passa a sua coleção no construtor do JRBeanCollectionDataSource na hora de executar o relatório. Exemplo:
//carrega o relatório já compilado
ServletContext servletContext = (ServletContext) contexto.getExternalContext().getContext();
String caminhoRelatorio = servletContext.getRealPath("/WEB-INF/reports/rel.jasper");
JasperReport relatorio = (JasperReport) JRLoader.loadObject( caminhoRelatorio );
//seta os parametros
Map<String, Serializable> param = new HashMap<String, Serializable>();
String logo = servletContext.getRealPath("/images/os.png");
param.put("logo", logo );
List<SuaClasse> lista = new ArrayList<SuaClasse>();
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(lista);
bytes = JasperRunManager.runReportToPdf(relatorio, param, ds);
PS: Os field’s do seu relatório necessariamente tem que ter o mesmo nome dos atributos da sua classe.
Att.
Entao eu to criando o modelo no Ireport mas ele so gera o arquivo .jasper quando eu faco uma query, se eu nao faco a query ele so gera o .jxml
Cara ele gera sim o Jasper. Ele so nao gera quando ocorrem erros na compilaçao, por exemplo, voce colocou no layout um field, ele precisa existir la em : View -> Fields. Se nao da erro de compilaçao. Da uma olhada nas criticas que ele vai te dizer o que esta com problema.
Att.
toda vez que o relatorio for compilado com exito ele vai gerar um arquivo .jasper nao tem como fugir disso
vlws
Valeu mesmo vou dar uma olhada