Struts2 JSP映射

Struts2 JSP映射,jsp,map,struts2,Jsp,Map,Struts2,在jsp中,我有: <s:set name="gender" value="#{'':'gender', 'm':'Male', 'f':'Female'}"/> 属性user.gender可以为空、m或f。我想要的是显示定义的gender地图中的男性或女性 我尝试了,但没有成功。OGNL中的单引号、单字符是实际的字符,而不是字符串 如果用户的性别是字符串,则地图应使用双引号、单字符作为键。试试这个 <s:property value="getText('properti

在jsp中,我有:

<s:set name="gender" value="#{'':'gender', 'm':'Male', 'f':'Female'}"/>

属性
user.gender
可以为空、
m
f
。我想要的是显示定义的
gender
地图中的
男性
女性


我尝试了
,但没有成功。

OGNL中的单引号、单字符是实际的
字符,而不是
字符串

如果用户的性别是
字符串
,则地图应使用双引号、单字符作为键。

试试这个

<s:property value="getText('properties.name')"/> //this is to fetch value from properties file
//这是从属性文件获取值
所以你们问题的答案是这样的

<s:property value="getText('user.gender')"/>  

您需要使用
#
签名来访问
标记中设置的值

<s:property value="#gender[user.gender]"/>


虽然这不能直接解决OP的问题,但从长远来看,允许性别名称本地化可能是一个更好的主意。我刚刚为他的问题提供了一个解决方案,但他可以使用此解决方案获得性别名称,这就是为什么我说使用I18N可能是一个好主意,即使OP没有问。我想你在
标签中有固定的单引号?您从哪里获得
用户
属性?当我有
时,这将显示
m
f
,那么为什么在属性中使用
#
?试试这个
。你修正了单引号吗?@JRGalia什么,你以为我在开引号的玩笑吗+1用于持久性和捕获丢失的
#