单击commandLink将再次调用preRenderView

时间:2013-11-15 16:33:01

标签: ajax jsf-2 primefaces commandlink prerenderview

在我的facelet中,我有以下commandLink:

<h:form>
    <p:commandLink id="excelExport" action="#{studentBean.exportReport()}" ajax="false">
         <f:param name="type" value="EXCEL" />
         <p:graphicImage library="img" name="excel.png" width="20" />
    </p:commandLink>
</h:form>

这就是我在我的支持bean中所拥有的:

@ManagedBean
@RequestScoped
public class StudentBean implements Serializable {
    .............
    @ManagedProperty(value = "#{param.type}")
    private String typeOfExport;

    .............
    public void preRender(ComponentSystemEvent event) {
        System.out.println("Inside prerender");
        if (FacesHelper.isAjaxRequest()) {
            return;
        }
    }
    .............
    public void exportReport() {
        System.out.println("Type of Report is: " + typeOfExport);
    }
}

现在我想在单击commandLink后执行exportReport方法。但是这里发生的事情是,在执行该方法之后,它将再次进入preRender。我不想再渲染整个表格。知道我在这做什么错吗?

0 个答案:

没有答案