publicclassRelatorioProdutosVendidos{privateHtmlOutputTextoutput1=newHtmlOutputText();//TítuloprivateHtmlOutputTexttitulo1=newHtmlOutputText();//Formulário de BuscaprivateUIDivdivBusca=newUIDiv();privateHtmlOutputTextespaco1=newHtmlOutputText();privateHtmlOutputTextespaco2=newHtmlOutputText();privateHtmlFormform1=newHtmlForm();privateHtmlOutputTexttexto1=newHtmlOutputText();privateHtmlOutputTexttexto2=newHtmlOutputText();privateHtmlOutputTexttexto3=newHtmlOutputText();privateHtmlCommandButtonbotao1=newHtmlCommandButton();privateHtmlCalendarcalendarioDe=newHtmlCalendar();privateHtmlCalendarcalendarioAte=newHtmlCalendar();privateStringload;privateHtmlOutputTexttitle=newHtmlOutputText();publicStringgetLoad(){try{Conteudo_Estaticoconteudo_estatico1=newConteudo_Estatico();FacesContextfc=FacesContext.getCurrentInstance();Navegacaonavegacao1=newNavegacao(fc,"relatorioProdutosVendidos");Conteudoconteudo1=navegacao1.getConteudo1();//********************CONTEUDO PRINCIPAL*********************************title.setEscape(false);title.setValue("<title>Berkeley - Equipamentos Médicos, Hospitalares e Simuladores</title>");titulo1.setValue("<h1>Relatório de produtos vendidos</h1>");titulo1.setEscape(false);output1.getChildren().add(titulo1);//Formulário de Buscatexto1.setValue("De: ");texto2.setValue("Até: ");espaco1.setValue(" ");espaco2.setValue(" ");espaco1.setEscape(false);espaco2.setEscape(false);botao1.setValue("Buscar");calendarioDe.setPopup(true);calendarioDe.setDatePattern("d/M/yyyy");calendarioDe.setAjaxSingle(true);calendarioAte.setPopup(true);calendarioAte.setDatePattern("d/M/yyyy");texto3.setValue("texto a trocar");form1.setSubmitted(true);form1.getChildren().add(texto1);form1.getChildren().add(getCalendarioDe());form1.getChildren().add(espaco1);form1.getChildren().add(texto2);form1.getChildren().add(getCalendarioAte());form1.getChildren().add(espaco2);form1.getChildren().add(botao1);form1.getChildren().add(texto3);botao1.setAction(fc.getApplication().createMethodBinding("#{RelatorioProdutosVendidos.gerarRelatorio}",null));divBusca.setStyleclass("esquerda");divBusca.getChildren().add(form1);output1.getChildren().add(divBusca);}catch(Exceptione){Logging.Excecao(e,"gestao.paginas.Principal.getLoad");returnnull;}returnload;}publicvoidgerarRelatorio()throwsIOException,ParseException{FacesContextcontext=FacesContext.getCurrentInstance();HttpServletResponseresponse=(HttpServletResponse)context.getExternalContext().getResponse();InputStreamreportStream=context.getExternalContext().getResourceAsStream("/relatorios/produtos.jasper");response.setContentType("application/pdf");response.setHeader("Content-disposition","attachment;filename=RelatorioDeProdutos.pdf");ServletOutputStreamservletOutputStream=response.getOutputStream();Stringparametro1=(String)calendarioDe.getStringparamentros1[]=parametro1.split("/");parametro1=paramentros1[2]+"-"+paramentros1[1]+"-"+paramentros1[0];Stringparametro2=(String)calendarioAte.getValue();Stringparamentros2[]=parametro1.split("/");parametro2=paramentros2[2]+"-"+paramentros2[1]+"-"+paramentros2[0];Mapparameters=newHashMap();parameters.put("dataIni",parametro1);parameters.put("dataFim",parametro2);texto3.setValue((String)calendarioDe.getValue()+" - "+(String)calendarioAte.getValue());try{JasperRunManager.runReportToPdfStream(reportStream,servletOutputStream,parameters,Coneccao.getConnection());}catch(JRExceptione){e.printStackTrace();}context.responseComplete();servletOutputStream.flush();servletOutputStream.close();}publicHtmlOutputTextgetOutput1(){returnoutput1;}publicHtmlOutputTextgetTitle(){returntitle;}publicHtmlOutputTextgetTitulo1(){returntitulo1;}publicHtmlCalendargetCalendarioDe(){returncalendarioDe;}publicvoidsetCalendarioDe(HtmlCalendarcalendarioDe){this.calendarioDe=calendarioDe;}publicHtmlCalendargetCalendarioAte(){returncalendarioAte;}publicvoidsetCalendarioAte(HtmlCalendarcalendarioAte){this.calendarioAte=calendarioAte;}}
C
ccalixto
Bom,
Não estou acostumado a ver código das paginas html gerados a partir dos beans, por isso fica mais dificil para eu analisar, mas uma coisa a se pensar é: tenta usar o form do richfaces a4j:form ao invés do form padrão.
[]'s Claudiney
SanjuanRJ
hmm, boa idéia essa sua, vou tentar…
com relação ao código ele funcina normalmente como se fosse em um binding
C
ccalixto
outra coisa é que eu sempre coloco os trechos que serão em ajax dentro de um outputpanel, pois alguns componentes, que não são do richfaces por exemplo, precisam disso.
SanjuanRJ
Eu queria que quando eu escolhesse uma data no calendário, ele atualizasse o HmlCalendar, para que eu consiga pegar a data quando eu clicar no botão que gera o evento.
Você não teria algum exemplo de um managed bean acompanho do jsp?
C
ccalixto
Quando eu usei este componente eu copiei o exemplo que tem na pagina do Richfaces. funcionou certinho, só que lá eles usavam faceletes. Pega lá o exemplo, é bem simples.
SanjuanRJ
Eu já consegui fazer funcionar.
O meu código estava certo, era só botar calendarioAte.setValueBinding(“binding”, fc.getApplication().createValueBinding("#{RelatorioProdutosVendidos.calendarioAte}"));