Liferay Portlet Basic MVC Flow и Выбор вида

Я пытаюсь разработать базовый портлет с LifeRay 6.1. Я'Я хорошо разбираюсь в различных реализациях MVC, но я считаю, что портлеты Liferay / java несколько сбивают с толку - особенно конвейер выполнения.

С большинством фреймворков MVC яМы работали с предпосылкой простой запрос> маршрутизатор> контроллер> Посмотреть. Выбор представления обычно основывается на соглашении об именовании контроллера / действия, параметре, передаваемом с запросом, или загружается вручную в действии контроллера.

С LifeRay MVCPortlet это неработать так; там'Можно создать как минимум два типа URL - URL-адрес рендеринга и URL-адрес действия.

URL рендеринга, кажется, полностью обходит то, что я воспринимаю как контроллер - подкласс MVCPortlet. Кажется, что эти URL-адреса относительно легко генерируются, и запрос загружает ожидаемое представление, если вы можете назвать его так, что, учитывая все намерения и цели, он полностью обходит контроллер и не имеет ничего общего с моделью.


URL действия проходит через контроллер, вызывается действие, а затем используется представление по умолчанию для визуализации портлета независимо от того, что я указываю в качестве пути mvc.


Читая дерево классов, я вижу, что свойство используется для определения используемого представления в зависимости от режима портлета. то есть

this.viewTemplate = "/views/edit.jsp";
this.editTemplate = "/views/edit.jsp";

Опять же, установка этого параметра после вызова init (), похоже, имеет какой-то эффект, только если к нему не обращаются через actionURL.

Поэтому я предполагаю, что мой вопрос довольно простой, как выбираются представления и как выбрать одно из них для использования при работе с actionURL. Также любая схема на конвейере выполнения будет очень полезна

Ответы на вопрос(1)

Ваш ответ на вопрос