Richfaces4.2条件渲染问题

时间:2012-04-19 16:22:31

标签: jsf-2 richfaces facelets

我们正在从JSP VDL迁移到Facelets VDL。我们有条件渲染标记需要移植到Facelets。因为&&条件渲染中的符号,.xhtml在编译中失败。关于如何处理这个的任何想法?

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

</a4j:outputPanel>

感谢您的时间。

1 个答案:

答案 0 :(得分: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}",那对我来说会更有意义。