Bem galera. Preciso gerar mais de um relatório de uma única vez, com isso quando clico no botão Gerar é gerada 1 nova abra no browser mas tereia que abrir mais abas pois serão gerados diversos relatórios …
Seria possível fazer isso ??
Obrigado
<p:commandButton value="Imprimir" actionListener="#{geraListaParaPresencaBean.geraListaPresencaPorCodigo}"
onclick="this.form.target='_blank'" icon="ui-icon-print" ajax="false"
title="Relatório com as Aulas geradas para que o Professor possa marcar as presenças ordenação por Código"/>
[code]for(Turma turma : turmas){
glp.gerarListaPorCodigo(turma, getInicio(), getFim());
}[/code]
[code]@SuppressWarnings(“unchecked”)
public void gerarListaPorCodigo(Turma turma, Date inicio, Date fim) throws ClassNotFoundException, SQLException{
try {
FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
InputStream reportStream = context.getExternalContext().
getResourceAsStream("/Relatorios_Jasper/modalidade/ListaPresencaPorCodigo.jasper");
@SuppressWarnings("rawtypes")
Map parametro = new HashMap();
parametro.put("idTurma", turma.getId());
parametro.put("inicio", inicio);
parametro.put("fim", fim);
try {
ServletOutputStream servletOutputStream = response.getOutputStream();
Conexao conex = new Conexao();
@SuppressWarnings("static-access")
Connection conn = conex.getConnection();
JasperRunManager.runReportToPdfStream(reportStream,servletOutputStream,parametro,conn);
servletOutputStream.flush();
servletOutputStream.close();
} catch (JRException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}finally{
context.responseComplete();
}
} catch (NullPointerException e) {
System.err.println("Erro ao Gerar Lista para Presenças: "+e.getMessage());
}
}[/code]