как изменить <s: textfield> для получения значения из файла Applicationresources.properties - PullRequest
0 голосов
/ 18 января 2012

Я разрабатываю простой графический интерфейс, в котором я хочу, чтобы значение имени пользователя выбиралось из файла ApplicationResources.properties.Мой файл содержит следующие две строки:

label.username= Username
label.password=Password

Я использую JSP, содержащий стойки 2 Тег содержит следующий фрагмент:

<s:textfield cssClass="login-inp" name="username" key="label.username" size="20" />

Но когда я запускаю свой проект, я вижу метку.имя пользователя , которое указывает, что значение из файла свойств не читается .. я что-то упустил?Как решить эту проблему ?Пожалуйста, помогите

заранее спасибо

Ответы [ 2 ]

3 голосов
/ 18 января 2012

Я не уверен, где и как вы определили файл properties, но при поиске пакетов ресурсов Struts2 ищите их определенным образом

  1. ActionClass.properties.
  2. BaseClass.properties (вплоть до Object.properties)
  3. Interface.properties (каждый интерфейс и подчиненный интерфейс)
  4. Модель ModelDriven (если реализует ModelDriven), для объекта модели повторите с 1
  5. package.properties (каталога, в котором находится класс, и каждого родительского каталога вплоть до корневого каталога)
  6. поиск по самой иерархии ключей сообщений i18n
  7. глобальные свойства ресурса (webwork.custom.i18n.resources), определенные в webwork.properties

Подробнее см. Документ / Интернационализация .

Кроме того, ключевой атрибут Struts 2 можно использовать в теге текстового поля, чтобы указать платформе, какое значение использовать для атрибутов имени и метки текстового поля. Вместо непосредственного предоставления этих атрибутов и их значений, вы можете просто использовать атрибут ключа.

Так что либо используйте name = "username" key = "label.username".

Просто просмотрите официальные документы, чтобы узнать, как это работает и как фреймворк ищет файлы свойств. сообщение-ресурс-файлы

1 голос
/ 27 апреля 2012

Добавьте указанную ниже строку в ваш файл struts.xml поверх первого определения пакета.

<constant name="struts.custom.i18n.resources" value="ApplicationResources" />

OR

Добавьте файл struts.properties в папку src. И сохраните в нем свойство ниже.

struts.custom.i18n.resources=ApplicationResources
...