Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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
在jsf中有没有比较列表中bean的方法?_Jsf - Fatal编程技术网

在jsf中有没有比较列表中bean的方法?

在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

我对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(':') 
。。。如何使用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
(不太相等)等等。有关所有操作员的完整列表,请查看规范: