Простой вопрос потока страниц портлета jsp
Я новичок в портлетах Java и пытаюсь понять, как эти вещи работают на довольно базовом уровне.
Теперь я запутался в том, как иметь несколько "представлений" в моем портлете. Допустим, мой портлет будет использоваться для операций CRUD. Для простоты я представляю, что когда пользователь впервые просматривает портлет, он увидит таблицу со всеми записями из базы данных. Затем пользователь сможет щелкнуть запись, которая покажет новую страницу в портлете, содержащую форму для обновления записи. Добавление записи будет работать примерно так же. Здесь нет ничего шокирующего...
Где я могу контролировать, как пользователь перемещается между различными представлениями, и где я могу переключаться между различными действиями, которые пользователь может выполнять (обновлять, добавлять, удалять и т. Д.)?
Я посмотрел онлайн и нашел кучу обучающих программ по портлетам "hello world", которые не очень помогают. Я нашел много других руководств, которые более продвинуты и ориентированы на то, что я делаю, но все они, кажется, используют некоторые базовые рамки, такие как Struts, JSF и т. Д.
Я хотел бы знать, как заставить это работать, используя только простой портлет, использующий JSP для визуализации представлений.
1 ответ
API портлетов (JSR-168) - это то, что вам нужно. Это объяснит вам, как представления управляются контейнером портлетов, как отображаются портлеты и как отображаются действия.
Колорадо
- взаимодействие с портлетами всегда двухэтапное - действие и рендеринг - тогда как взаимодействие с веб-сервером всегда однофазное
- в стандартном веб-приложении форма отправляется сервлету, указанному в поле действия тега html form. В портлете JSR-168 URL-адрес действия для формы HTML создается с использованием тега портлета action URL, например:
<form action="<portlet:actionURL/>" method="post">
- отправка HTML-формы приводит к вызову метода processAction(ActionRequest aRequest, ActionResponse aResponse) портлета
- сервлетам разрешено включать, пересылать и перенаправлять; портлеты разрешено включать только.
- Сервлеты могут отображать всю страницу, а портлеты - только фрагменты страницы.
- и так далее