2010-08-23 2 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

использование Make атрибута 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; 
Смежные вопросы