Struts 2 - Пример комплекта ресурсов

Struts 2 - Пример комплекта ресурсов

Чтобы использовать пакет ресурсов для извлечения сообщения из файла свойств, необходимо понять порядок поиска в пакете ресурсов Struts 2:

Порядок поиска пакетов ресурсов

Ресурсный комплект ищется в следующем порядке:

  1. ActionClass.properties

  2. Interface.properties

  3. BaseClass.properties

  4. Модель Дривена

  5. package.properties

  6. Поиск по самой иерархии ключей сообщений i18n

  7. Глобальные свойства ресурса

Обратитесь к Struts 2Resource Bundle documentation для подробного объяснения.

Привет, Struts 2, вы выполняете слишком большой поиск, слишком много заказов на поиск и эффективность затрат, если файл свойств не найден.

На практике организовать файл свойств в порядке, указанном выше, совершенно невозможно. Итак, просто поймите, что должно быть достаточно нескольких часто используемых поисковых заказов:ActionClass.properties,package.properties иGlobal resource properties. Смотрите изображение ниже:

Struts 2 resource bundle

Еслиcom.example.user.action.LoginAction хочет получить сообщение через пакет ресурсов, он будет искать

  1. com.example.user.action.LoginAction.properties (found, exit, else next)

  2. com.example.user.action.package.properties (found,exit, else next)

  3. com.example.user.package.properties (found exit, else next)
    …keep find package.properties in every parent directory all the way to the root directory

  4. Найдитеglobal resource properties, если вы настроите его в своем приложении

Понимание этого порядка поиска поможет вам более уверенно выбрать правильную папку для файла свойств.

Получить пакет ресурсов

Несколько примеров для доступа к пакету ресурсов:

P.S ‘username.required‘ and ‘username‘ are the key in a properties file.

1. Класс действий

В классе Action вы можете расширить ActionSupport и получить пакет ресурсов с помощью функции getText («ключ»).

...
public class LoginAction extends ActionSupport{
    ...
    public void validate(){
        if("".equals(getUsername())){
            addFieldError("username", getText("username.required"));
        }
    }
}

2. тег свойства

В теге свойства используйте getText («ключ»).

3. текстовый тег

В текстовом теге установите ключ в атрибуте «имя».

4. Ключевой атрибут

Атрибут Key компонента UI имеет специальную функцию, проверьте детали в этомkey attribute example.

5. Тег I18n

Этот тег i18n может получить сообщение из указанного пакета ресурсов, который объявлен в атрибуте «name». В этом примере он просит получить сообщение «имя пользователя» из файлаcom/example/user/package.properties.


     

Скачать проект полностью для практики -Struts2-Resource-Bundle-Example.zip