Как я могу перебрать каждый символ в строке, используя JSTL? - PullRequest
3 голосов
/ 12 мая 2011

Как я могу перебрать каждый символ в строке, используя JSTL?

Ответы [ 3 ]

11 голосов
/ 12 мая 2011

Хитрое использование 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 голос
/ 01 декабря 2014

Поздно до вечеринки, но EL 2.2 разрешает, например, вызовы методов (подробнее об этом здесь: https://stackoverflow.com/a/7122669/2047962). Это означает, что вы можете сократить ответ Джигара Джоши на несколько символов:

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

Я только предлагаю это, потому что немного более очевидно, что делает ваш код.

0 голосов
/ 12 мая 2011

Я думаю, что вы не можете сделать это с помощью JSTL forEach. Вам нужно написать свой собственный тег или функцию EL. Вот пример кода, как вы пишете свои собственные теги: http://www.java2s.com/Tutorial/Java/0360__JSP/CustomTagSupport.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...