简单portlet jsp页面流问题

3
我是Java门户的新手,正在尝试以相对基础的水平来理解这些东西的工作原理。
我现在对如何在我的门户中拥有多个“视图”感到困惑。假设我的门户将用于CRUD操作。为了简单起见,我想象当用户首次查看门户时,他们会看到一个包含来自数据库的所有记录的表格。然后,用户可能能够单击一条记录,这将在门户中显示一个新页面,其中包含用于更新记录的表单。添加记录的方式也类似。这里没有什么惊人之处...
我应该在哪里控制用户在不同视图之间导航的方式,以及在哪里切换用户可能执行的不同操作(更新、添加、删除等)?
我已经在网上查找了大量的“hello world”门户教程,但没有什么帮助。我找到了许多其他面向我所做的更高级别且更具指导性的教程,但它们都似乎使用了一些基础框架,例如Struts、JSF等。
我想知道如何仅使用JSPs呈现视图来使其工作的基本门户。
1个回答

5
Portlet API (JSR-168) 是你需要了解的内容。它会为你讲解portlet容器如何管理视图、如何渲染portlet以及如何映射动作。
同时,以下内容也需要注意:
  • portlet交互始终是2阶段——动作和渲染,而Web服务器交互始终是单阶段;
  • 在标准Web应用程序中,表单被提交到HTML表单标签的action字段指定的servlet。在JSR-168 portlet中,HTML表单的Action URL是使用actionURL portlet标签生成的,例如: <form action="<portlet:actionURL/>" method="post">
  • 提交HTML表单将调用portlet的processAction(ActionRequest aRequest, ActionResponse aResponse)方法
  • servlet允许包含、转发和重定向;portlet只允许包含。
  • Servlet可以渲染完整的页面,而Portlet只能渲染页面片段。
  • 诸如此类

是的,我理解。但是如果我有三个JSP,每个JSP都有不同的表单,它们是否都会触发我的portlet中的相同processAction函数,然后我只是根据...一些隐藏的表单字段或其他东西进行切换? - Boden
3
是的,我们使用隐藏的输入参数来将请求路由到不同的JSP页面。 - topchef

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接