2015-05-24 3 views
0

Я пытаюсь написать контроллер Liferay MVC, и я хочу изменить режим портлета в моем методе визуализации. Объект RenderRequest имеет свойство _portletMode, но для этого нет методов настройки.программно изменить портлет в контроллере

Обратите внимание, что я не хочу использовать java-отражение, чтобы установить это свойство, потому что я обеспокоен тем, что это может повлиять на то, о чем я не знаю!

ответ

0

Вы не можете изменить состояние (или режим) портлета в фазе rander. Даже если вы можете обмануть, это нестандартно, а не поддерживается по какой-то причине.

Вы можете, однако, просто отобразить другой пользовательский интерфейс (например, jsp) во время фазы визуализации.

Изменение состояния всегда включает в себя одну из других фаз.

+0

Не могли бы вы рассказать мне, когда и как мне разрешено менять режим портлета. Thanx. – Soosh

+0

Для чего вы хотите использовать режим портлета? Я спрашиваю, потому что я чаще всего вижу, что он ошибался - и не имеет смысла объяснять это неправильным использованием. Связанный, вы можете изменить режим портлета во время фаз события-события или ресурса, просто не в стадии визуализации. 'response.setPortletMode (PortletMode.VIEW);' это то, что вы вызываете, чтобы переключиться на другой (в этом случае) режим портлета. Просто добавьте эту строку в обработчик действий (например) –

Смежные вопросы