jsf – 如何使用\u0026\u0026在Facelets中的EL布尔表达式?

我有一个小小的麻烦,找出如何做和在Facelets的EL表达式。
所以基本上我有:

<h:outputText id="Prompt"
    value="Fobar" 
    rendered="#{beanA.prompt == true && beanB.currentBase !=null}" />

但我不断得到:

Error Traced[line: 69] The entity name must immediately follow the ‘&’
in the entity reference.

Facelets是一种基于XML的视图技术。 &是一个special character的XML代表一个实体的开始,如& amp;结束于;字符。你需要逃避它,这是丑陋的:

rendered="#{beanA.prompt == true &amp;&amp; beanB.currentBase != null}"

或者使用和关键字,这是首选的可读性和可维护性:

rendered="#{beanA.prompt == true and beanB.currentBase != null}"

也可以看看:

> Java EE 6 tutorial – Operators in EL

与具体问题无关,当表达式预期一个布尔结果时,将布尔与布尔相比较没有意义。我会摆脱== true:

rendered="#{beanA.prompt and beanB.currentBase != null}"
http://stackoverflow.com/questions/8552901/how-to-use-in-el-boolean-expressions-in-facelets

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:jsf – 如何使用\u0026\u0026在Facelets中的EL布尔表达式?