2012-07-11 119 views
5

我可以使用S:物业标签在S:文本标签Struts中2的问题是,我在Action类有Map
如何使用<s:property>标签在<s:text>在Struts 2

Map menuMap = new HashMap<String, String>(); 
menuMap.put("home()", "lbl.home.home"); 
menuMap.put("mymodule()", "lbl.home.mymodule"); 
menuMap.put("adduser()", "lbl.home.adduser"); 
menuMap.put("changepassword()", "lbl.home.chngPwd"); 

地图是有键/值作为String,其实值存在于地图的关键是存在于application.properties文件,请参见下面的
这是我Application.properties文件

lbl.home.home      = Home 
lbl.home.adduser     = Add User 
lbl.home.mymodule     = My Module 
lbl.home.chngPwd     = Change Password 

现在我想重复这个地图在我的JSP,并希望得到这些值,从属性文件,通过将地图的值作为application.properties文件中的关键,并显示它们作为一个标签
我能拿到钥匙,但无法显示值从属性文件
这是我的JSP代码:

<s:iterator value="menuMap"> 
<tr> 
    <td> 
    <a href="#" onclick="<s:property value="key"/>" ><s:text name="<s:property value='value'/>"/></a> 
    </td> 
</tr> 
</s:iterator> 

现在的问题是,我能够看到,如果我找页面的源代码,标记和在onclick()上调用的函数名称,但不是abl e将文本看作标签。我错过了什么,请帮助我。
谢谢

回答

9

它实际上比你想要的更简单。由于文本标签是一个Struts2的标签,名称属性支持OGNL表达式,所以没有必要使用属性标记来获得名字,只是OGNL:

<a href="#" onclick="<s:property value="key"/>" ><s:text name="%{value}"/></a> 
+0

非常感谢,yes..you是正确的我错过了...赞赏... – 2012-07-11 05:03:33