在jsf中有没有比较列表中bean的方法?
我对jsf非常陌生。我需要比较jsf中的bean列表。有可能吗 据推测,该列表包含6个元素。我需要比较一下 1和2,3和4,5和6。有可能吗 我希望我的表情是这样的在jsf中有没有比较列表中bean的方法?,jsf,Jsf,我对jsf非常陌生。我需要比较jsf中的bean列表。有可能吗 据推测,该列表包含6个元素。我需要比较一下 1和2,3和4,5和6。有可能吗 我希望我的表情是这样的 if{#some.path eq "paths installed"} && some.path+1 eq "paths used)} then {if(#(some.path.substringAfter(':') eq (#(some.path+1.substringAfter(':') 。。。如何使用j
if{#some.path eq "paths installed"} && some.path+1 eq "paths used)}
then
{if(#(some.path.substringAfter(':') eq (#(some.path+1.substringAfter(':')
。。。如何使用jsf实现这一点?您不需要使用表达式语言完成所有逻辑。您可以只调用JSF托管bean的方法,让标准Java执行此逻辑
在你的另一个问题中,你说你正在使用
。它有一个名为varStatus
的属性,您可以使用该属性获取正在迭代的集合元素的当前索引。它可能看起来像这样
<ui:repeat var="element" value="#{someBean.someCollection}" varStatus="status">
<!-- Random things you do with #{element} -->
<!-- To compare two entries you can do this: -->
<!-- #{someBean.compareElements(someBean.someCollection.get(status.index), someBean.someCollection.get(status.index+1)} -->
<!-- To avoid IndexOutOfRange use rendered="#{not status.last}" -->
</ui:repeat>
为什么要复制你的问题,在你刚刚写下另一个这样的问题6分钟后再重复一遍?这几乎满足了我的要求。当我希望显示bean列表时,在本例中我有两个列表,我希望第一个bean列表显示在左边的列中,下一个bean列表显示在右边。第一个列表也包含空元素。在这些情况下,必须显示在右边列中的元素将显示在右边。#{someBean.compareeelements(someBean.someCollection.get(status.index)、someBean.someCollection.get(status.index+1)}..我必须把它放在哪里?有任何预定义的函数吗compare@Pramoth显然,您可以将其放入facelets代码中。无论您需要它,或者它应该做什么。EL都有一些预构建的基本函数用于比较。eq
表示相等,ne
表示不相等。还有一些更算术的函数,如le
(不太相等)等等。有关所有操作员的完整列表,请查看规范: