我正在尝试重定向到新标签,此代码应该正常工作,但它会将我重定向到同一页面
xhtml页面
<h:form id="previewForm1" target="_blank">
<p:commandButton value="Preview" action="#{executeJasper.printOnCriteria}" >
<f:setPropertyActionListener target="#{executeJasper.format}" value=".html"/>
<f:setPropertyActionListener target="#{executeJasper.listOnCriteria}" value="#{reports2.exportedWorkOrders}"/>
<f:setPropertyActionListener target="#{executeJasper.order_by_form}" value="detail_no"/>
</p:commandButton>
</h:form>
Bean
try {
System.out.println("Redirecting....");
FacesContext.getCurrentInstance().getExternalContext().redirect(sHandler.getServerURL() + "VAS/faces/Downloads/" + folderName + "\\WorkOrderDetails_" + wOrder + format);
} catch (IOException ex) {
System.out.println("Output File: " + outputFile + " not found");
}
答案 0 :(得分:0)
你可以在bean内部以两种方式实现重定向,你可以创建一个返回类型为String的方法,你可以返回那个xhtml页面 并假设您要重定向到test1.xhtml
public String test() {
//Do some operation
return test1;
}
第一种可能是正确的,但你应该检查它是否合适。