Учебники

Apache Tapestry — Аннотация

Аннотация — это очень важная функция, используемая 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 использовать многоуровневый дизайн .