2010-08-23 58 views
0

有一個形式的JSF頁面:JSF頁面評價

.... 
<h:form> 
<h:commandLink action="#{userBean.logout}" value="Logout" /> 
</h:form> 
.... 
<ui:repeat value="#{categoryBean.allCategories}" var="c"> 
.... 

categoryBean.allCategories是EJB調用它是基於一個<f:param>經由@ManagedProperty收購前一頁。所以當用戶點擊Logout時,整個頁面都會評估,但沒有參數並且有NullPointerException。有沒有可能如何跳過評估?

回答

0

利用rendered屬性:

<h:panelGroup rendered="#{not empty param.name}"> 
    <ui:repeat value="#{categoryBean.allCategories}" var="c"> 
     ... 
    </ui:repeat> 
</h:panelGroup> 

或者你也可以只是做一個nullcheck在getAllCategories()方法。

if (param != null) { 
    // Return it. 
} 
return null;