简单的portlet jsp页面流问题

时间:2009-04-08 22:16:40

标签: java jsp portlet jsr168

我是Java portlets的新手,我正试图在相当基本的层面上处理这些东西是如何工作的。

我现在很困惑如何在我的portlet中拥有多个“视图”。假设我的portlet将用于CRUD操作。为了简单起见,我想象当用户第一次查看portlet时,他们会看到一个包含数据库中所有记录的表。然后,用户可以单击将在portlet中显示包含用于更新记录的表单的新页面的记录。添加记录的方式大致相同。没有什么可震惊的......

我在哪里可以控制用户在不同视图之间导航的方式,以及在哪里切换用户可能执行的不同操作(更新,添加,删除等)?

我已经在网上找到了大量的“hello world”portlet教程,但这些教程并没有多大帮助。我发现许多其他教程更先进,适合我正在做的事情,但它们似乎都使用了一些底层框架,如Struts,JSF等。

我想知道如何使用JSP来渲染视图,只使用基本的portlet来完成这项工作。

1 个答案:

答案 0 :(得分:5)

Portlet API (JSR-168)是您需要寻找的。这将向您解释如何通过portlet容器管理视图,如何呈现portlet以及如何映射操作。

  • portlet交互始终是2阶段 - 动作和呈现 - 而Web服务器交互始终是单阶段的;
  • 在标准Web应用程序中,表单将提交给html表单标记的action字段中指定的servlet。在JSR-168 portlet中,使用actionURL portlet标记生成HTML表单的操作URL,例如的 <form action="<portlet:actionURL/>" method="post">
  • 提交HTML表单导致调用portlet的 processAction(ActionRequest aRequest,ActionResponse aResponse)方法
  • 允许servlet执行包含,转发和重定向; portlet只允许包含。
  • Servlet可以呈现完整的页面,portlet只呈现页面片段。