Skip to main content

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

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

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

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

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

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

Значения по умолчанию для настроек определяются в файле application.properties в ресурсах приложения. Значения задаются в виде "ключ=значение":

application.properties
myapp.url=https://n2oapp.net/framework

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

application.properties
myapp.number=#{T(java.lang.Math).random() * 100.0}

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

application.properties
myapp.path=#{systemProperties['user.home']}

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

application.properties
myapp.path=#{envProperties['HOME']}

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

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

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

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

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

Текущая локаль приложения задается стандартными средствами Spring. Поддержку локализации в N2O можно выключить настройкой n2o.i18n.enabled. Задать локаль по умолчанию можно через настройку n2o.i18n.default-locale.

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

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

META-INF/config.json
{
"projectName": "MyApp"
}

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

META-INF/config.json
{
"version": "${project.version}"
}

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

META-INF/config.json
{
"user" : {
"username": "#{username}"
}
}