我使用带有Struts 2的struts-menu 2.4.3开发了一个菜单。它工作正常,但我需要从属性文件(router-messages.properties)中获取菜单的标题。整个申请就像这样国际化。但它只适用于struts-menu。这是我的menu-config.xml文件:
<Menu name="mainMenu" title="" >
<Item name="ecfMenu" title="ECFs" roles="FISCO" location="DisconnectedEcfsSearch" />
<Item name="reportsMenu" title="Relatórios" roles="ADMIN" location="AlarmReportSearch"/>
<Item name="fiscoMenu" title="Fisco" roles="ADMIN" location="UpdateFiscoForm"/>
<Item name="alarmMenu" title="Alarmes" roles="ADMIN" location="AlarmNotification"/>
<Item name="userMenu" title="application.header.users" roles="ADMIN" location="UserSearch"/>
<Item name="consoleMenu" title="Console" roles="FISCO" location="ConsoleSearch"/>
</Menu>
请注意,我正在尝试在“userMenu”项中使用我的属性文件的密钥。所有其他项目都有效,但不是这一项。
这是我的jsp:
<menu:useMenuDisplayer permissions="rolesAdapter" name="Velocity"
config="/WEB-INF/tabs.html">
<menu:displayMenu name="mainMenu" />
</menu:useMenuDisplayer>
我四处搜寻,甚至发现一个人有同样的问题,但对他没有回应。 = /
有没有人知道如何让struts-menu识别出我正在使用属性文件的键而不是文字字符串??
谢谢!
答案 0 :(得分:0)
试试这个:
对于menu-config.xml:
<Menu name="mainMenu" title="" >
<Item name="userMenu" title="application.header.users" roles="ADMIN" location="UserSearch"/>
</Menu>
对于JSP:
使用此:
<%@ taglib prefix="menu" uri="http://struts-menu.sf.net/tag-el"%>
而不是:
<%@ taglib prefix="menu" uri="http://struts-menu.sf.net/tag"%>
调用菜单:
<menu:useMenuDisplayer bundle="messages" permissions="rolesAdapter" name="Velocity"
config="/WEB-INF/tabs.html">
<menu:displayMenu name="mainMenu" />
</menu:useMenuDisplayer>
对于bundle =“messages”,提供资源包的名称。
我希望它适合你!