簡體   English   中英

如何阻止EL表達式在未渲染的JSF組件中進行求值?

[英]How do I stop EL expressions from being evaluated in non-rendered JSF components?

編輯:沒關系!

我正在將我的項目從帶有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>

如果myBean.myPojo不存在於我的項目的JSF 1.2版本中,則導致NullPointerException。 在這些情況下,可以使用c:if(而不是h:panelGroup rendering =“ ...”),但這有其自身的問題。 我還有其他地方做錯了嗎? 是否有一些配置? 謝謝!

如果僅此而已,那么這似乎是底層EL實現中的錯誤。 我建議檢查是否有新版本,以前是否曾報告過此問題,如果沒有,請報告! :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM