Можно ли задавать имена переменных JSTL из выражений или они должны быть литеральными строками? - PullRequest
3 голосов
/ 03 декабря 2010

Я новичок в JSTL и хочу обобщить некоторые функции, которые используются несколько раз в одном теге, в отдельный тег. Моя идея состоит в том, чтобы передать этот тег массив строк. Это не проблема. Но я также хочу назвать некоторые переменные на основе этих строк, чтобы я мог повторно использовать результаты выражений в локальной области видимости.

Пример:

<c:set var="hasFirstName" value="false"/>

Я хочу проверить «hasFirstName» в разных местах тега. Но имена будут меняться в зависимости от ввода. Так есть ли способ сделать что-то подобное?

<c:forTokens var="formName" items="firstName,middleName,lastName" delims=",">
        <c:set var="has_${formName}" value="false"/>
</c:forTokens>

1 Ответ

2 голосов
/ 03 декабря 2010

Ваш подход будет работать, он будет сохранен только как has_firstName, а не как hasFirstName.

Вы можете подстрока и прописные буквы первого символа с функциями JSTL , но это неуклюже.

...