Обращение к атрибуту
Обращение к атрибуту объекта происходит по названию соответствующегоСвойства схемы объекта (например, registration). Для обращения к атрибутам комплексных свойств указывается иерархический путь к атрибуту (например, registration.number.prefix).
Блок кода | ||
---|---|---|
| ||
'№' + registration.number.prefix + registration.number.number + registration.number.suffix |
Однако если РКК не зарегистрирована, то значение атрибута registration.number будет неопределенно, и такое выражение может привести к ошибке. Чтобы этого избежать, можно использовать условный оператор, который вернет пустую строку, если номер не определен:
Блок кода |
---|
registration == null ? '': registration.number == null ? '' : '№' + registration.number.prefix + registration.number.number + registration.number.suffix |
Другой способ избежать ошибок, если значения атрибутов не определены – использование «безопасной адресации». Тогда если неопределенно значение объекта, к атрибуту которого нужно обратиться, вместо ошибки будет возвращено значение Null. Для «безопасной адресации» перед точкой добавляется знак вопроса:
Блок кода |
---|
'№' + registration?.number?.prefix + registration?.number?.number + registration?.number?.suffix |
Предупреждение | ||
---|---|---|
| ||
Лучше избегать атрибуты с признаком системные и префиксом $, так как они могут вычисляться используются в Web-клиентеклиентом. Их использование в SPEL-выражение значение всегда будет приводить к равно null. В качестве примера приведен следующий список:
|
Подключение java-классов
Подключение функций java-библиотек происходит через конфигурацию T(<Название класса>).<Название функции>
Блок кода |
---|
T(ru.intertrust.cmj.af.misc.AFDate).createCurrent() |
Операции сравнения
Операция | Равно | Не равно | Меньше | Меньше или равно | Больше | Больше или равно |
---|---|---|---|---|---|---|
Знак | == | != | < | <= | > | >= |
Буквенное выражение | eq | ne | lt | le | gt | ge |
Дополнительно могут использоваться:
- оператор проверки типа instanceof;
- оператор сравнения с шаблоном (регулярным выражением) matches.
Математические операции
Операция | Сложение | Вычитание | Умножение | Деление | Остаток от деления | Степень |
---|---|---|---|---|---|---|
Знак | + | - | * | / | % | ^ |
Буквенное выражение | div | mod |
Сложение может использоваться как для чисел, так и для строк. Остальные операции – только для чисел. Поддерживается стандартный порядок выполнения математических операций в выражениях.
Логические операции
Операция | И | Или | Отрицание |
---|---|---|---|
Знак | && | || | ! |
Буквенное выражение | and | or |
Условный оператор
<Условие> ? <Значение, если условие выполнено> : <Значение, если условие не выполнено>