Struts2:评估 属性 值的字符串文字
Struts2: Evaluate string literal for property value
我正在尝试做类似于 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>
标记计算 #part2
而不是解释为字符串文字?以我的理解 %{}
应该可以解决问题,但没有。
您正在尝试从会话中检索值并通过 #attr
它不会起作用。
有更简单的方法。直接使用#session
关键字。
<s:property value="#session['data_' + #variable.code]" />
我正在尝试做类似于 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>
标记计算 #part2
而不是解释为字符串文字?以我的理解 %{}
应该可以解决问题,但没有。
您正在尝试从会话中检索值并通过 #attr
它不会起作用。
有更简单的方法。直接使用#session
关键字。
<s:property value="#session['data_' + #variable.code]" />