我有一个情况。我想生成一个报告,并使用JasperReports框架在JSF平台的另一个窗口中打开它。现在,我能够生成报告的PDF版本。以下是该报告的JSF视图:
<h:panelGrid columns="2">
<h:outputText value="#{lang.member}: *" />
<h:selectOneMenu converter="memberConverter" value="#{memberProcesListBean.member}" required="true" requiredMessage="#{lang.memberGroupIntroduction_memberGroupName_req_txt}">
<f:selectItem itemLabel="#{lang.select}..."/>
<f:selectItems value="#{memberProcesListBean.memberMenu}"/>
</h:selectOneMenu>
<h:outputText value="#{lang.startDate}: *" />
<p:calendar pattern="dd.MM.yyyy" required="true" requiredMessage="#{lang.defaultProcesses_defaultDate_req_txt}" value="#{memberProcesListBean.startDate}"/>
<h:outputText value="#{lang.endDate}: *" />
<p:calendar pattern="dd.MM.yyyy" required="true" requiredMessage="#{lang.defaultProcesses_defaultDate_req_txt}" value="#{memberProcesListBean.endDate}"/>
<h:outputText value="#{lang.metalCode}: *" />
<h:selectOneMenu converter="metalCodeConverter" value="#{memberProcesListBean.metalCode}" required="true" requiredMessage="#{lang.memberGroupIntroduction_memberGroupName_req_txt}">
<f:selectItem itemLabel="#{lang.select}..."/>
<f:selectItems value="#{memberProcesListBean.metalCodeMenu}"/>
</h:selectOneMenu>
<h:outputText value="#{lang.reportFormat}: *" />
<h:selectOneMenu id="ReportFormat" value="#{memberProcesListBean.fileFormat}">
<f:selectItems value="#{generalInfoBean.fileFormatsList}" />
</h:selectOneMenu>
</h:panelGrid>
<br/>
<br/>
<h:commandLink value="Download" action="#{uyeIslemListesiBean.retrieveReport}" target="_blank" />
但是,我无法在报告的Excel和Word格式的另一个窗口中检索和打开。我应该在视图片段中更改某些内容吗?
你真诚的......
答案 0 :(得分:-1)
我不应该这样说,但是有一个插件可以帮助你实现这一点:JasperReports JSF Plugin。查看其文档并检查它是否符合您的需求。但我会这样做,基本上是替换你的。由于报告是在辅助请求中生成的,因此您仍然可以通过custom report source将其绑定到辅助bean的值。