gpt4 book ai didi

jsf - 在 EL 中使用 && 会导致错误 : The entity name must immediately follow the '&' in the entity reference

转载 作者:行者123 更新时间:2023-12-04 01:24:58 27 4
gpt4 key购买 nike

我试图在 jsf 中使用的 el 表达式中使用条件表达式,但它不起作用。

<h:outputText value="#{(sel.description !=null) && (sel.description !='') ? sel.description : 'Empty description'} - "/>

但它不起作用,编译器说:

Error Traced[line: 118] The entity name must immediately follow the '&' in the entity reference.



你有什么建议吗?
谢谢!

最佳答案

您似乎在使用 Facelets(非常好)。然而,它是一种基于 XML 的 View 技术。您在 Facelets 中编写的所有内容都必须是语法上有效的 XML。 &在 XML 中是一个特殊字符,表示 entity 的开始喜欢 &amp; , &lt; , &gt; , &#160; , 等等。

如果您想代表& XML 中的原样,那么您必须将其替换为 &amp; .

<h:outputText value="#{(sel.description !=null) &amp;&amp; (sel.description !='') ? sel.description : 'Empty description'} - "/>

但是,这不是很好读,您更愿意使用替代的 EL 运算符 and为此(另请参阅 operators in EL 以了解 EL 中所有可用运算符的概述):
<h:outputText value="#{(sel.description !=null) and (sel.description !='') ? sel.description : 'Empty description'} - "/>

总之,这又很笨拙,因为有一个更简单的 empty关键字用于测试空性和空性。这可以在您的特定情况下用作:
<h:outputText value="#{not empty sel.description ? sel.description : 'Empty description'} - "/>

或者
<h:outputText value="#{!empty sel.description ? sel.description : 'Empty description'} - "/>

或者
<h:outputText value="#{empty sel.description ? 'Empty description' : sel.description} - "/>

关于jsf - 在 EL 中使用 && 会导致错误 : The entity name must immediately follow the '&' in the entity reference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13359899/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com