2012-04-19 171 views
1

我們正在從JSP VDL遷移到Facelets VDL。我們有條件的渲染標籤需要移植到Facelets。由於條件呈現中的& &符號,.xhtml編譯失敗。有關如何處理這個問題的任何想法?Richfaces4.2條件呈現問題

<a4j:outputPanel styleClass="myclass" layout="block" 
         rendered="#{myBean.iscorrect && anotherBean.isCorrect}"> 
render something here ... 

</a4j:outputPanel> 

謝謝你的時間。

回答

0

使用and而不是&&。它也立即更自我記錄。

<a4j:outputPanel styleClass="myclass" layout="block" 
    rendered="#{myBean.iscorrect and anotherBean.isCorrect}"> 

的原因是因爲Facelets的是一種基於XML的視圖技術和&在XML中是特殊字符代表一個實體的開始。你得到的確切的Facelets編譯錯誤消息也應該暗示了一些。其他需要注意的特殊字符分別爲<>,應將EL分別替換爲ltgt

此問題與RichFaces無關。在標準JSF標籤中這樣做會有同樣的問題。

順便說一句,你真的有一個isIscorrect() getter方法嗎?如果您有private boolean correct;public boolean isCorrect()方法並且評估爲rendered="#{myBean.correct and anotherBean.correct}",那麼對我來說更有意義。

+0

嗨BalusC,謝謝你的回答。不,我沒有isCorrect()方法。只是爲了表示布爾響應,我把它命名爲正確的。 – kosa 2012-04-19 18:05:31