JSTL var名称可以从表达式设置还是必须是文字字符串?

时间:2010-12-03 15:27:20

标签: jsp jstl el

我是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 个答案:

答案 0 :(得分:2)

您的方法可行,只会存储为has_firstName,而不会存储为hasFirstName

可以使用JSTL functions对第一个字符进行子串和大写,但这很笨拙。