Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果列表不为null且具有size(),如何显示JSF组件>;0_Jsf_If Statement_El - Fatal编程技术网

如果列表不为null且具有size(),如何显示JSF组件>;0

如果列表不为null且具有size(),如何显示JSF组件>;0,jsf,if-statement,el,Jsf,If Statement,El,如果列表不是null,并且具有size()>0,如何显示JSF组件?使用属性。大多数组件都具有此属性;的主要目的是有条件地渲染组件 <h:dataTable value="#{bean.list}" rendered="{bean.list !=null &amp;&amp; bean.list.size()>0}" > 在上面的jsf代码中,datatable仅在list不为null且list的大小大于0时才会呈现。EL提供了empty操作符,用于检查对

如果列表不是
null
,并且具有
size()>0
,如何显示JSF组件?

使用属性。大多数组件都具有此属性;的主要目的是有条件地渲染组件

<h:dataTable value="#{bean.list}" rendered="{bean.list !=null &amp;&amp; bean.list.size()>0}" >


在上面的jsf代码中,datatable仅在list不为null且list的大小大于0时才会呈现。EL提供了
empty
操作符,用于检查对象的空性和空性

因此,这应该做到:


不需要像其他答案所建议的那样,对
null
size()
进行笨拙的双重检查

另见:



它对您需要的一切都有清晰的解释,还有更多。嗯,有趣的是,从来都不知道EL中有一个
空的
操作符。+!:)丑陋的
&&可以很容易地被可读性更强的
替换。更重要的是,整个双重检查可以很容易地用一个操作符替换:
empty
@BalusC-true,&;它很难看。正如我在你的问题下所评论的,我不知道存在空操作符。谢谢你的反馈。我确实发现,在将条件渲染应用于我的组件时,使用&相当难看。:)(在问题J的上下文中)这比公认的答案好多少?@Kukeltje-它确实添加了有效的替代方案,这是很有帮助的。
<h:outputText value="No Data to Display!" rendered="#{empty list1.List2}" />
<a href="#">
<h:outputText value="Data is present" rendered="#{not empty list1.List2}" /></a>
<h:outputText value="#{not empty list1.List2 ? 'Data is Present' : 'No Data to Display'}" style="color:blue"/>