当前位置: 首页 > 知识库问答 >
问题:

如何在struts 2的中使用标记

饶元章
2023-03-14

我可以在Struts2中的s:property标记中使用s:text标记吗。问题是,我的操作类中有一个映射

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");

映射以字符串的形式具有键/值,实际上映射中存在的值是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()上调用,但不能看到作为标签的文本。我是不是漏掉了什么,请帮帮我。
谢谢

共有1个答案

冀俊良
2023-03-14

它实际上比你正在尝试的要简单。由于text标记是Struts2标记,name属性支持OGNL表达式,因此不需要使用property标记来获取名称,只需OGNL即可:

<a href="#" onclick="<s:property value="key"/>" ><s:text name="%{value}"/></a>
 类似资料:
  • 问题内容: 如何在Struts 1.2中使用标签。 在属性中,必须使用什么值?Bean名称是您的财产名称吗? 问题答案: Javadoc适用于: 指定访问其属性以检索由 属性 指定的值(如果已指定)的bean的属性名称。如果未指定property,则将呈现此bean本身的值。 本质上,如果您有一个JavaBean(带有getter和setter), 通过设置,您要告诉Struts 首先* 从范围首

  • 但这不起作用,当我进入“loginriuscito.jsp”时,我只看到“welcome:”

  • 问题内容: 在我的Web应用程序中,当用户注销时,他应该无权访问他登录时先前查看过的页面。但是,由于浏览器缓存,他可以在单击后退按钮时查看这些页面。 我定义了一个拦截器来处理此问题: 并在: 发生的事情是,添加此代码后,运行应用程序时出现404错误。 我尝试在页面中添加响应标题: 但是必须将它一个接一个地添加到所有页面上是很麻烦的。另外,用户始终可以重新提交表单并再次访问那些页面,而无需实际输入其

  • 问题内容: 我已经阅读了各种教程和论坛,但是还没有找到结合使用Spring安全性和struts2来研究编码的有效示例。当前的大多数示例都在XML文件中使用预定义的用户名和密码,但未连接到数据库。 如果您知道任何示例或教程,请告诉我。 问题答案: 您可能应该从以下教程开始: Spring Security第1部分–具有数据库的简单登录应用程序 Spring Security第2部分–密码加密,自定义

  • 问题内容: 我想在我们的jsp页面中格式化一些数字。 首先,我定义了一些资源 ...... 问题1: 我想知道“#”和“ 0”的含义是什么? 0.00,#0.00,##。00,### 0.00 谁能告诉我它们之间的区别?谢谢! 问题2: 如果我在动作BigDecimal number1中定义了BigDecimal类型; 然后我的页面应该使用一种格式来显示此值, 请忽略number <0 问题3:

  • 问题内容: 在Java代码的标签中使用break语句时出现错误。这正在显示。编写这样的代码是错误的。请协助我正确使用它。提前致谢。 问题答案: 带标签的A 与声明不同。Java没有声明。 标签标记了其后的语句。您可以使用它来突破该语句,并且只能脱离该语句。流的控制权将始终转移到标记语句的末尾。 那你这里有什么? 由于if后的分号,实际上这是整个标记的语句。因此,您根本不在其范围内。如果您没有该分号