I18n в Struts-меню со Struts 2 - PullRequest
       36

I18n в Struts-меню со Struts 2

5 голосов
/ 15 февраля 2011

Я разработал меню, используя Struts-Menu 2.4.3 с Struts 2. Он работает нормально, но мне нужно взять заголовки меню из файла свойств (router-messages.properties).Все приложение интернационализировано, как это.Но это просто не работает с Struts-меню.Вот мой файл 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 распознавать, что я использую ключ к файлу свойств, а не буквальную строку ??

Спасибо!

1 Ответ

0 голосов
/ 25 февраля 2011

Попробуйте это:

Для меню-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" укажите название вашего пакета ресурсов.

Я надеюсь, что это работает для вас!

...