Аннотация — это очень важная функция, используемая Tapestry для упрощения разработки веб-приложений. Гобелен предоставляет множество пользовательских аннотаций. Он имеет аннотацию для классов, методов и полей-членов. Как обсуждалось в предыдущем разделе, Аннотация также может использоваться для переопределения соглашения по умолчанию для функции. Аннотации гобеленов сгруппированы по четырем основным категориям и имеют следующий вид.
Компонентная аннотация
Используется в классах страниц, компонентов и миксинов. Некоторые из полезных аннотаций —
-
@Property — применимо к полям. Используется для преобразования поля в свойство гобелена.
-
@Parameter — применимо к полям. Используется для указания поля в качестве параметра компонента.
-
@Environmental — это применимо к полям. Используется для совместного использования частного поля между различными компонентами.
-
@import — применяется к классам и полям. Используется для включения активов, CSS и JavaScript.
-
@Path — используется в сочетании с аннотацией @Inject для внедрения актива на основе пути.
-
@Log — применимо к классам и полям. Используется в целях отладки. Может использоваться информация о событиях компонента emit, такая как начало события, конец события и т. Д.
@Property — применимо к полям. Используется для преобразования поля в свойство гобелена.
@Parameter — применимо к полям. Используется для указания поля в качестве параметра компонента.
@Environmental — это применимо к полям. Используется для совместного использования частного поля между различными компонентами.
@import — применяется к классам и полям. Используется для включения активов, CSS и JavaScript.
@Path — используется в сочетании с аннотацией @Inject для внедрения актива на основе пути.
@Log — применимо к классам и полям. Используется в целях отладки. Может использоваться информация о событиях компонента emit, такая как начало события, конец события и т. Д.
IoC аннотация
Используется для добавления объектов в контейнер IoC. Некоторые из полезных аннотаций —
-
@Inject — применимо к полям. Используется для маркировки параметров, которые должны быть введены в контейнер IoC. Он помечает поля, которые должны быть внедрены в компоненты.
-
@Value — применимо к полям. Используется вместе с аннотацией @inject для вставки литерального значения вместо службы (это поведение по умолчанию для аннотации @Inject).
@Inject — применимо к полям. Используется для маркировки параметров, которые должны быть введены в контейнер IoC. Он помечает поля, которые должны быть внедрены в компоненты.
@Value — применимо к полям. Используется вместе с аннотацией @inject для вставки литерального значения вместо службы (это поведение по умолчанию для аннотации @Inject).
Аннотация для классов хранения данных
Он используется для указания специфичной для компонента информации в классе (обычно это модели или классы хранения данных) для компонентов высокого уровня, таких как
-
Сетка (используется для создания расширенных табличных данных, таких как отчет, галерея и т. Д.)
-
BeanEditForm (используется для создания расширенных форм)
-
Hibernate (используется в расширенном доступе к базе данных) и т. Д.
Сетка (используется для создания расширенных табличных данных, таких как отчет, галерея и т. Д.)
BeanEditForm (используется для создания расширенных форм)
Hibernate (используется в расширенном доступе к базе данных) и т. Д.
Эти аннотации объединяются и упаковываются в отдельную банку без какой-либо зависимости от гобелена. Некоторые из аннотаций —
-
@DataType — используется для указания типа данных поля. Компонент Tapestry может использовать эту информацию для создания дизайна или разметки на уровне представления.
-
@Validate — используется для указания правила проверки поля.
@DataType — используется для указания типа данных поля. Компонент Tapestry может использовать эту информацию для создания дизайна или разметки на уровне представления.
@Validate — используется для указания правила проверки поля.
Эти разделения позволяют приложению Tapestry использовать многоуровневый дизайн .