如何使用 JSTL 循环遍历字符串中的每个字符?

发布于 2024-11-06 22:32:52 字数 31 浏览 0 评论 0原文

如何使用 JSTL 循环遍历字符串中的每个字符?

How can I loop through each character in a String using JSTL?

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

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

发布评论

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

评论(3

格子衫的從容 2024-11-13 22:32:52

巧妙使用 fn:substring() 就可以了

<c:forEach var="i" begin="0" end="${fn:length(str)}" step="1">
    <c:out value="${fn:substring(str, i, i + 1)}" />     
</c:forEach>

Tricky use of fn:substring() would do

<c:forEach var="i" begin="0" end="${fn:length(str)}" step="1">
    <c:out value="${fn:substring(str, i, i + 1)}" />     
</c:forEach>
兲鉂ぱ嘚淚 2024-11-13 22:32:52

虽然迟到了,但 EL 2.2 允许实例方法调用(更多信息请参见:https://stackoverflow.com/a/7122669 /2047962)。这意味着您可以将 Jigar Joshi 的答案缩短几个字符:

<c:forEach var="i" begin="0" end="${fn:length(str)}" step="1">
  <c:out value="${str.charAt(i)}" />     
</c:forEach>

我建议这样做只是因为您的代码正在做什么更加明显。

Late to the party, but EL 2.2 allows for instance method calls (more on that here: https://stackoverflow.com/a/7122669/2047962). This means that you could shorten Jigar Joshi's answer by a few characters:

<c:forEach var="i" begin="0" end="${fn:length(str)}" step="1">
  <c:out value="${str.charAt(i)}" />     
</c:forEach>

I only suggest this because it is a little more obvious what your code is doing.

原谅过去的我 2024-11-13 22:32:52

我认为你不能用 JSTL 的 forEach 来做到这一点。您需要编写自己的标签或 EL 函数。以下是如何编写自定义标签的示例代码:
http://www.java2s.com/Tutorial/Java/0360__JSP/CustomTagSupport.htm

i think you can't do that with JSTL's forEach. You need to write your own tag or an EL function. Here is a sample code how you write your custom tags:
http://www.java2s.com/Tutorial/Java/0360__JSP/CustomTagSupport.htm

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文