JSF:基于迭代索引的逻辑

发布于 2024-09-28 18:46:33 字数 405 浏览 1 评论 0原文

请原谅我的标题,这是我有限的大脑这么晚能想到的最好的结果。

所以,我有一个字符串列表,例如 [abc, def, ghi]。

问题:在 JSF 中,如何迭代列表并创建一个类似于“abc, def, ghi”的字符串(注意逗号)?

对于那些想要告诉我最好使用 Java 方法来连接字符串的人,请听听:列表中的每个成员都应该呈现为单独的 commandLink。

如果是普通的 JSF,它看起来像:

<h:commandLink>abc</h:commandLink>, <h:commandLink>def</h:commandLink>, <h:commandLink>ghi</h:commandLink>

Pardon me for the title, that's the best my limited brain can came up this late.

So, i have a list of string, something like [abc, def, ghi].

The question: in JSF, how do I iterate the list and create a string that look like this "abc, def, ghi" (notice the commas)?

For those who have the urge to tell me that I'd better use a Java method to concatenate the string, hear this: every member of the list should be rendered as a separate commandLink.

If plain JSF it would look like:

<h:commandLink>abc</h:commandLink>, <h:commandLink>def</h:commandLink>, <h:commandLink>ghi</h:commandLink>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝海似她心 2024-10-05 18:46:33

假设 #{bean.items} 返回 ListString[],在 JSF 1.x 中您可以使用 JSTL c:forEachvarStatus。它为您提供了 的句柄LoopTagStatus 有一个 isLast() 方法。

<c:forEach items="#{bean.items}" var="item" varStatus="loop">
    <h:commandLink value="#{item}" /><c:if test="#{!loop.last}">, </c:if>
</c:forEach>

在 JSF 2.x 附带的 Facelets 中,ui:repeat 提供了相同的功能。

<ui:repeat value="#{bean.items}" var="item" varStatus="loop">
    <h:commandLink value="#{item}" />#{!loop.last ? ', ' : ''}
</ui:repeat>

Assuming that #{bean.items} returns List<String> or String[], in JSF 1.x you can use JSTL c:forEach with varStatus. It gives you a handle to LoopTagStatus which has a isLast() method.

<c:forEach items="#{bean.items}" var="item" varStatus="loop">
    <h:commandLink value="#{item}" /><c:if test="#{!loop.last}">, </c:if>
</c:forEach>

In Facelets as shipped with JSF 2.x, same functionality is available by ui:repeat.

<ui:repeat value="#{bean.items}" var="item" varStatus="loop">
    <h:commandLink value="#{item}" />#{!loop.last ? ', ' : ''}
</ui:repeat>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文