var属性のプロパティを参照する次のEL式があります。
empty _item.addressLine1
addressLine1
はAddressBeanの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>
....
問題は、addressLine1が空の文字列であるかどうかに関係なく、式が常にfalseを返すことです。これを確認するかのように、EclipseのfaceletValidatorは次の警告を生成します。
この空の式は常にfalseと評価されます。文字列、マップ、配列、およびコレクションのみが、空の演算子に対して意味のある値を持ちます
しかし、これを修正する方法がわかりません。jboss-el-api_2.2_spec-1.0.0.FinalでJBossAS7.1を実行しています