Tapestry/Основные понятия: различия между версиями

Содержимое удалено Содержимое добавлено
дополнение
дополнение
Строка 4:
 
Когда пользователь запрашивает страницу происходит событие activate, которое можно перехватить создав в странице метод onActivate(), либо метод с произвольным именем и аннотацией @OnEvent("activate"). Если для страницы параметры передаются в URL, то в метод добавляется сигнатура соответствующая принимаемым параметрам. Например, на запрос /admin/form/article/123 создаётся метод onActivate(long articleId) (приведение типа происходит автоматически). Если количество параметров неизвестно, то в сигнатуре объявляется Object[], либо специальный класс EventContext. Параметры типа /admin/form/article/?param1=some1&param2=some2 не обрабатываются, но к ним всегда можно получить доступ через сервис Request. Для сохранения параметров в URL нужно перехватить событие passivate, с возвращением параметров полученных на activate.
 
== Контекст ==
 
Методы могут запускаться в разных режимах с разными переменными окружения — это и есть контекст выполнения метода.
 
Для выбора контекста в Tapestry используются специальные директивы (аннотации), которые устанавливаются перед определением метода:
<source lang="java">
public class Category {
...
@OnEvent("activate")
void selectPage(String pageId) {
this.pageId = pageId;
}
 
}
</source>
 
== Слушатели ==