我想在h:commandLink
点击后在另外两个标签中调用两个方法。我使用JSF2和RichFaces 4.3.7。
<a4j:jsFunction name="print"
action="#{PDFReportsMBean.printSelectedScannedDoc}"
status="waitStatus">
</a4j:jsFunction>
<h:commandLink value="${msg['page.dfeOper016form.button.printAll']}"
target="_blank"
disabled="#{not PDFReportsMBean.selectedAnyDocs}"
action="#{PDFReportsMBean.prepareData}">
</h:commandLink>
<a4j:ajax event="click" oncomplete="print()"/>
此代码不起作用...... Coluld有人帮助我吗?
答案 0 :(得分:0)
您无法使用Ajax执行文件下载,因为您正在尝试这样做。 Ajax使用了javascript,它具有文件写入权限的限制。您最好的机会是将整个逻辑包装在一个方法中,或者替代地使用actionListener
:
<h:commandLink value="${msg['page.dfeOper016form.button.printAll']}"
target="_blank"
disabled="#{not PDFReportsMBean.selectedAnyDocs}"
actionListener="#{PDFReportsMBean.prepareData}"
action="#{PDFReportsMBean.printSelectedScannedDoc}"/>
另见: