Skip to main content

Настройки и локализация

Настройки N2O делятся на настройки клиента, настройки сервера и сообщения локализации.

Использование в XML#

В любом месте XML файла можно обратиться к настройке через "доллар" и фигурные скобки: ${property}, где property название настройки.

Использование настройки в элементе XML
<name>${prop}</name>
Использование настройки в атрибуте XML
<a href="${url}"/>

Файлы настроек сервера#

Значения по умолчанию настройки определяются в файлах META-INF/n2o.properties в ресурсах любого модуля проекта. Значения задаются в виде "ключ=значение":

my.url=https://n2oapp.net/framework

Можно использовать SpEL выражение:

my.number=#{T(java.lang.Math).random() * 100.0}

В SpEL выражениях есть доступ к системным настройкам Java:

my.path=#{systemProperties['user.home']}

Или к настройкам окружения:

my.path=#{envProperties['HOME']}

Значения можно переопределить на нескольких уровнях.

Файлы локализации#

Файлы локализации хранятся как Resource Bundle, в properties формате в ресурсах любого модуля проекта. По умолчанию базовое имя файла messages.properties. Базовые имена файлов можно переопределить через настройку spring.messages.basename.

Чтобы задать сообщения на другом языке, нужно добавить к базовому имени файла локаль. Например, messages_en.properties. Использовать сообщения локализации можно в любом месте XML файлов конфигураций, точно так же, как и N2O настройки.

Message bundle N2O лежат в n2o_api_messages, n2o_config_messages, n2o_rest_messages. Для добавления дополнительных — необходимо переопределить настройку spring.messages.basename, не забыв указать message bundle N2O

Настройки локализации#

Управлять локализацией можно следующими настройками:

n2o.i18n.enabled - доступность переключения языка (по умолчанию false)

n2o.i18n.default-locale - локаль по умолчанию

Файлы настроек клиента#

Настройки клиента задаются в формате json в файлах META-INF/config.json в ресурсах любого модуля проекта:

Настройки клиента
{  "name": "Joe"}

В значениях json можно вставлять настройки N2O через "доллар" и фигурные скобки:

{  "src": "${myprops.src}"}

Или можно вставлять значения контекста пользователя:

{  "user" : {    "username": "#{username}"  }}