gpt4 book ai didi

jsf - JSF 数据表 var 属性字段中的空 EL 表达式始终为 false

转载 作者:行者123 更新时间:2023-12-05 00:32:44 25 4
gpt4 key购买 nike

我有以下 EL 表达式,它引用了 var 属性上的一个属性:
empty _item.addressLine1addressLine1是 Address bean 上的 String 属性,可通过 personBean.person.addresses 访问。返回 Set<Address> 的属性.

这是上下文中的 EL 表达式:

<h:dataTable id="personBeanPersonAddresses" styleClass="data-table" value="#{forgeview:asList(personBean.person.addresses)}" var="_item">
<h:column>
<f:facet name="header">
<h:outputText value="Address Line 1"/>
</f:facet>
<h:link outcome="/address/view">
<f:param name="id" value="#{_item.id}"/>

<h:panelGroup rendered="#{!empty _item.addressLine1}">
<h:outputText id="itemAddressLine1" value="#{_item.addressLine1}"/><br/>
</h:panelGroup>
</h:link>
</h:column>
....

问题是表达式总是返回 false,无论 addressLine1 是否为空字符串。为了确认这一点,Eclipse 中的 facelet Validator 产生了以下警告:

This empty expression always evaluates to false. Only string, maps, arrays and collection have meaningful values for the empty operator



但我不知道如何解决这个问题。我正在使用 jboss-el-api_2.2_spec-1.0.0.Final 运行 JBoss AS 7.1

最佳答案

到目前为止,代码看起来不错。此警告无效。如果它打扰您,请关闭 Eclipse 中的 EL 验证。

至于具体的问题,很可能是#{_item.addressLine1}本身是真的空的。您需要确保这不是空的。

关于jsf - JSF 数据表 var 属性字段中的空 EL 表达式始终为 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13022909/

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