gpt4 book ai didi

java - 如何使用动态名称访问 session 属性?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:25:15 25 4
gpt4 key购买 nike

这是我试图通过使用 JSTL/EL 动态构造属性名称来引用 session bean 时遇到的问题的一个非常简化的示例。 session 属性的名称是“userBean”,它有一个属性“name”和相应的 getter/setter。

This works<br>
User: ${userBean.name}<br>

<c:set var="userBeanName">${userBean}.name</c:set><br>

This does not work<br>
User: ${userBeanName}<br>

结果是:

This works
User: ACOSTA SALES COMPANY

This does not work
User: 000101.name

第二个是调用我的 userBean 类的 toString() 方法并连接那个 +“.name”。

当然有一个非常简单的答案;但是,以我有限的知识,我无法弄清楚。

最佳答案

代码示例令人困惑,与标题和第 1 段中所述的问题无关。所以,我将忽略代码示例,只回答标题:

How to access a session attribute using a dynamic name?

您可以使用 ${sessionScope} 获取所有 session 属性的映射。您可以使用大括号表示法将变量评估为属性名称 ${sessionScope[attributeName]}

所以,应该这样做:

<c:set var="attributeName" value="userBean" />

User name: ${sessionScope[attributeName].name}

关于java - 如何使用动态名称访问 session 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6796003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com