使用Struts 2的Struts菜单中的I18n

Tia*_*ias 5 java struts2 internationalization menuitem

我使用带有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> 
Run Code Online (Sandbox Code Playgroud)

请注意,我正在尝试在项目'userMenu'中使用我的属性文件的密钥.所有其他项目都有效,但不是这一项.

这是我的jsp:

   <menu:useMenuDisplayer permissions="rolesAdapter" name="Velocity" 
       config="/WEB-INF/tabs.html">
       <menu:displayMenu name="mainMenu" />
    </menu:useMenuDisplayer>
Run Code Online (Sandbox Code Playgroud)

我四处搜索,甚至发现一个人有同样的问题,但对他没有回应.= /

有谁知道如何使struts-menu识别我正在使用属性文件的键而不是文字字符串?

谢谢!

Leo*_*tec 0

尝试这个:

对于menu-config.xml:

<Menu name="mainMenu" title="" >
       <Item name="userMenu" title="application.header.users" roles="ADMIN" location="UserSearch"/>
</Menu>
Run Code Online (Sandbox Code Playgroud)

对于 JSP:

用这个:

<%@ taglib prefix="menu" uri="http://struts-menu.sf.net/tag-el"%>
Run Code Online (Sandbox Code Playgroud)

而不是这个:

<%@ taglib prefix="menu" uri="http://struts-menu.sf.net/tag"%>
Run Code Online (Sandbox Code Playgroud)

调用菜单:

<menu:useMenuDisplayer bundle="messages" permissions="rolesAdapter" name="Velocity" 
       config="/WEB-INF/tabs.html">
       <menu:displayMenu name="mainMenu" />
</menu:useMenuDisplayer>
Run Code Online (Sandbox Code Playgroud)

对于bundle="messages",提供资源包的名称。

我希望这个对你有用!