1
編輯:沒關係!如何停止在非呈現的JSF組件中評估EL表達式?
我正在使用Facelets將我的項目從JSF 1.2與Facelets切換到JSF 2。看起來,在JSF 2中,未呈現的組件中的EL表達式將被評估。 JSF 1.2中似乎沒有這種情況。所以,你得到這樣的問題:
<h:panelGroup rendered="#{not empty myBean.myPojo}">
<h:outputText value="#{myBean.myPojo.pojoProperty}" />
</h:panelGroup>
導致一個NullPointerException如果myBean.myPojo爲空,當它在JSF 1.2版本,我的項目沒有。另一種方法是使用c:如果對於這些情況(而不是h:panelGroup rendered =「...」),但是它帶有它自己的問題。難道還有別的我做錯了嗎?有這個配置嗎?謝謝!
在特定的代碼示例中,它不應該導致NPE。請發佈*實際*代碼。或者如果確實如此,那麼這是EL中的一個錯誤。 EL就是默默無聞。然後你應該提及你正在使用哪個EL實現(servletcontainer)。 – BalusC 2010-12-03 18:29:23