当前位置 : 主页 > 编程语言 > java >

jsp – Struts2:为属性值计算字符串文字

来源:互联网 收集:自由互联 发布时间:2021-06-25
我正在尝试做类似于 this question的事情,但答案并没有解决我的问题.我正在使用Struts2版本2.3.28.1. 我正在尝试使用 s:property访问会话中的数据标记和动态值字符串文字. 如果我做: s:pro
我正在尝试做类似于 this question的事情,但答案并没有解决我的问题.我正在使用Struts2版本2.3.28.1.

我正在尝试使用< s:property>访问会话中的数据标记和动态值字符串文字.

如果我做:

<s:property value="#session.data_1"></s:property>

然后显示正确的数据.现在,当我尝试以下内容时:

<s:set var="part1" value="#variable.code"></s:set>
<s:set var="part2" value="'#session.data_'+#part1"></s:set>

<s:property value="part2"></s:property> 
<s:property value="%{part2}"></s:property> 
<s:property value="%{#part2}"></s:property>
<s:property value="#attr[#part2]" default="Not working"></s:property>
<s:property value="(#part2)" default="Not working"></s:property>
<s:property value="%{(#part2)}" default="Not working"></s:property>

哪个显示:

#session.data_1
#session.data_1
#session.data_1
Not working
#session.data_1
#session.data_1

(是的,我尝试了所有可能的组合,即使它们没有意义,我也能想到……)

如何制作< s:property> tag评估#part2而不是解释为字符串文字?在我的理解中,%{}应该已经完成​​了诀窍但是没有.

您正在尝试从会话中检索值并通过#attr它无法正常工作.

有更简单的方法.直接使用#session关键字.

<s:property value="#session['data_' + #variable.code]" />
网友评论