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

发布于 2024-10-06 01:35:21 字数 450 浏览 2 评论 0原文

我是 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>

I'm new to JSTL and I want to generalize some functionality that's used multiple times in one tag into a separate tag. My idea is to pass this tag an array of strings. That's no problem. But I also want to name some variables based on those strings so that I can reuse the results of expressions within the local scope.

Example:

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

I want to test for "hasFirstName" at various places within the tag. But the names will change depending upon the input. So is there any way to do something like this?

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

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

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

发布评论

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

评论(1

天冷不及心凉 2024-10-13 01:35:21

您的方法将会起作用,它只会存储为 has_firstName,而不是 hasFirstName

您可以使用 JSTL 函数,但这很笨拙。

Your approach will work, it will only be stored as has_firstName, not as hasFirstName.

You could substring and uppercase the 1st character with JSTL functions, but that's clumsy.

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