Объекты — различия между версиями
Материал из DevelopmenOnTheEdge
Asko (обсуждение | вклад) (Новая страница: «<div>Для удобства в контексте выполнения Freemarker всегда содержатся некоторые объекты. Внутр…») |
Asko (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | <div>Для удобства в контексте выполнения Freemarker всегда содержатся некоторые объекты. Внутри конструкций Freemarker (${}, <#> и <@>) ими можно пользоваться как обычными Java-объектами. | + | <div>Для удобства в контексте выполнения Freemarker всегда содержатся некоторые объекты. Внутри конструкций Freemarker (${}, <#> и <@>) ими можно пользоваться как обычными Java-объектами. |
− | + | ||
− | + | Эти объекты определены везде (в Custom scripts и при задании кода представлений): | |
− | Эти объекты определены везде (в Custom scripts и при задании кода представлений): | + | |
− | + | ||
* '''project''': объект com.beanexplorer.enterprise.metadata.model.Project; содержит всю иерархию проекта; можно достать любые данные. Примеры: | * '''project''': объект com.beanexplorer.enterprise.metadata.model.Project; содержит всю иерархию проекта; можно достать любые данные. Примеры: | ||
− | ** | + | ** <code>${project.getConnectionProfileName()} </code>— профиль соединения к базе данных. |
− | ** | + | ** <code>${project.getEntity('myTable').getQueries().get('myQuery').getMenuName()} </code>— название пункта меню для представления myQuery в таблице myTable. |
* '''dbPlatform''': строка, определяющая платформу СУБД. Сокращённый вариант для project.getDatabaseSystem().getName(). Пример использования: | * '''dbPlatform''': строка, определяющая платформу СУБД. Сокращённый вариант для project.getDatabaseSystem().getName(). Пример использования: | ||
** <code>SELECT <#if dbPlatform == 'sqlserver'>TOP 1</#if></code> | ** <code>SELECT <#if dbPlatform == 'sqlserver'>TOP 1</#if></code> | ||
Строка 12: | Строка 10: | ||
* '''currentDateTime''': SQL-выражение для текущего времени в текущей версии СУБД | * '''currentDateTime''': SQL-выражение для текущего времени в текущей версии СУБД | ||
* '''fromFakeTable''': SQL-выражение для выборки из псевдо-таблицы (например "FROM DUAL") в зависимости от текущей версии СУБД | * '''fromFakeTable''': SQL-выражение для выборки из псевдо-таблицы (например "FROM DUAL") в зависимости от текущей версии СУБД | ||
− | * '''null''': специальное значение для работы с NULL в SQL. При использовании <code>null?str</code> вы получите строку NULL. Объект null можно передавать в макросы и функции, которые применят <code>?str</code> к нему. Использование объекта null другими способами ведёт к неопределённому поведению. | + | * '''null''': специальное значение для работы с NULL в SQL. При использовании <code>null?str</code> вы получите строку NULL. Объект null можно передавать в макросы и функции, которые применят <code>?str</code> к нему. Использование объекта null другими способами ведёт к неопределённому поведению. |
− | Эти объекты могут быть определены при задании кода представлений или кастомизаций: | + | Эти объекты могут быть определены при задании кода представлений или кастомизаций: |
− | + | ||
− | + | * '''module''': объект com.beanexplorer.enterprise.metadata.model.Module, представляющий текущий модуль | |
− | * '''module''': объект com.beanexplorer.enterprise.metadata.model.Module, представляющий текущий модуль | + | |
* '''entity''': объект com.beanexplorer.enterprise.metadata.model.Entity, представляющий текущую entity. Пример: | * '''entity''': объект com.beanexplorer.enterprise.metadata.model.Entity, представляющий текущую entity. Пример: | ||
− | ** | + | ** <code>SELECT * FROM ${entity.getName()} </code>— выбрать все элементы из текущего entity (можно, к примеру, определить такой макрос и использовать его в разных entity). |
* '''query''': объект com.beanexplorer.enterprise.metadata.model.Query, представляющий текущее представление. | * '''query''': объект com.beanexplorer.enterprise.metadata.model.Query, представляющий текущее представление. | ||
* '''operation''': объект com.beanexplorer.enterprise.metadata.model.Operation, представляющий текущую операцию. | * '''operation''': объект com.beanexplorer.enterprise.metadata.model.Operation, представляющий текущую операцию. | ||
− | * '''customization''': объект com.beanexplorer.enterprise.metadata.model.PageCustomization, представляющий текущую кастомизацию. | + | * '''customization''': объект com.beanexplorer.enterprise.metadata.model.PageCustomization, представляющий текущую кастомизацию. |
− | + | ||
− | + | ||
− | + |
Версия 15:59, 22 августа 2014
Для удобства в контексте выполнения Freemarker всегда содержатся некоторые объекты. Внутри конструкций Freemarker (${}, <#> и <@>) ими можно пользоваться как обычными Java-объектами.
Эти объекты определены везде (в Custom scripts и при задании кода представлений):
- project: объект com.beanexplorer.enterprise.metadata.model.Project; содержит всю иерархию проекта; можно достать любые данные. Примеры:
-
${project.getConnectionProfileName()}
— профиль соединения к базе данных. -
${project.getEntity('myTable').getQueries().get('myQuery').getMenuName()}
— название пункта меню для представления myQuery в таблице myTable.
-
- dbPlatform: строка, определяющая платформу СУБД. Сокращённый вариант для project.getDatabaseSystem().getName(). Пример использования:
-
SELECT <#if dbPlatform == 'sqlserver'>TOP 1</#if>
-
- currentDate: SQL-выражение для текущей даты в текущей версии СУБД
- currentDateTime: SQL-выражение для текущего времени в текущей версии СУБД
- fromFakeTable: SQL-выражение для выборки из псевдо-таблицы (например "FROM DUAL") в зависимости от текущей версии СУБД
- null: специальное значение для работы с NULL в SQL. При использовании
null?str
вы получите строку NULL. Объект null можно передавать в макросы и функции, которые применят?str
к нему. Использование объекта null другими способами ведёт к неопределённому поведению.
Эти объекты могут быть определены при задании кода представлений или кастомизаций:
- module: объект com.beanexplorer.enterprise.metadata.model.Module, представляющий текущий модуль
- entity: объект com.beanexplorer.enterprise.metadata.model.Entity, представляющий текущую entity. Пример:
-
SELECT * FROM ${entity.getName()}
— выбрать все элементы из текущего entity (можно, к примеру, определить такой макрос и использовать его в разных entity).
-
- query: объект com.beanexplorer.enterprise.metadata.model.Query, представляющий текущее представление.
- operation: объект com.beanexplorer.enterprise.metadata.model.Operation, представляющий текущую операцию.
- customization: объект com.beanexplorer.enterprise.metadata.model.PageCustomization, представляющий текущую кастомизацию.