如何将参数发送到PrimeFaces的预处理器



我已经实现了PrimeFaces自定义数据出口商为:

<p:commandLink id="pdf" ajax="false" rendered="#{documentProcessor.isPDFVisible}">
    <p:graphicImage value="/res/img/pdf_icon.png" />
    <f:setPropertyActionListener value="true" target="#{exporterController.customExporter}" />
    <pe:exporter preProcessor="#{documentProcessor.preProcessPDF}" type="pdf" target="compListTable" fileName="File_PDF" />
</p:commandLink>

请指出我如何在documentProcessor.preProcessPDF方法中发送参数?

我找不到将参数传递给处理器方法的解决方案,但是我使用了ActionListener和后处理器,并且可以使用!测试是否也适用于预处理器。

<p:commandLink immediate="true" ajax="false"
        actionListener="#{documentProcessor.downloadTypeGenerator}">
        <f:attribute name="type" value="#{downloadType}" />
        <p:graphicImage name="icons/excel_icon.png" library="img" width="24" />
        <p:dataExporter type="xls" target="#{target}" fileName="#{fileName}"
            postProcessor="#{documentProcessor.excelDownloadPostProcessor}" />
    </p:commandLink>

后端:(下载类型是一个全局变量。(

public void downloadTypeGenerator(ActionEvent actionEvent) {
            downloadType = (String) actionEvent.getComponent().getAttributes().get("type");
    }
public void excelDownloadPostProcessor(Object document) {
   if(downloadType != null && downloadType .equalsIgnoreCase("myValue")){
     //action...
   }
}

相关内容

  • 没有找到相关文章

最新更新