迭代器JSF值

迭代器JSF值,jsf,iterator,store,Jsf,Iterator,Store,我想知道如何将数据迭代器中的值存储在JSF页面中,以便在一次迭代中在多个位置使用它。比方说,我想在屏幕上的5个不同位置显示一个特定值。我不确定您正在努力解决的问题。听起来很像是在JSP上使用JSF,并使用scriptlet,在循环体中多次重复Iteratornext调用。这确实行不通。调用next显然会返回下一项。基本上,您只需要在循环中一次将其保存在变量中,然后多次重用该变量。但无论如何,在JSF页面中使用Scriptlet是一个巨大的问题 当使用JSP作为视图技术时,正确的方法是使用或任何J

我想知道如何将数据迭代器中的值存储在JSF页面中,以便在一次迭代中在多个位置使用它。比方说,我想在屏幕上的5个不同位置显示一个特定值。

我不确定您正在努力解决的问题。听起来很像是在JSP上使用JSF,并使用scriptlet,在循环体中多次重复Iteratornext调用。这确实行不通。调用next显然会返回下一项。基本上,您只需要在循环中一次将其保存在变量中,然后多次重用该变量。但无论如何,在JSF页面中使用Scriptlet是一个巨大的问题

当使用JSP作为视图技术时,正确的方法是使用或任何JSF组件,例如或Tomahawk的。它们都提供了一个var属性,您可以在其中指定当前迭代项的作用域属性名称。您可以在标记体中任意多次使用它

例如

当您使用Facelets作为视图技术(幸运的是,它不支持Scriptlet)时,您应该为此使用标记

<ui:repeat value="#{bean.list}" var="item">
    #{item} ... #{item} ... #{item}
</ui:repeat>
JEE8首次支持UIData DataTable和UIRepeat中的接口

<ui:repeat value="#{bean.list}" var="item">
    #{item} ... #{item} ... #{item}
</ui:repeat>