如何使用JSTL遍历String中的每个字符?

时间:2011-05-12 11:55:37

标签: java jsp jstl

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

3 个答案:

答案 0 :(得分:11)

棘手使用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>

答案 1 :(得分:1)

晚会,但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>

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

答案 2 :(得分:0)

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