当然,一个portlet 可以包含多个JSP。
您可以通过您的doView(或或)方法中的PortletRequestDispatcher显示您想要的任何 JSP :doHelp
doEdit
protected void doView(RenderRequest req, RenderResponse resp)
throws PortletException, IOException, UnavailableException {
resp.setContentType("text/html");
String myview = req.getParameter("myview");
String view = "/WEB-INF/jsp/" + (myview==null ? "bar" : myview) + ".jsp";
PortletRequestDispatcher dispatcher =
getPortletContext().getRequestDispatcher(view);
dispatcher.include(req, resp);
}
您可以使用参数来设置视图。在带有链接的 JSP 中,您需要使用 Portlet API 来创建/编码到 Portlet 的链接。例如:
<portlet:renderURL>
<portlet:param name="myview" value="foo"/>
</portlet:renderURL>
(我并没有真正了解 JSR286/Portlet 2.0 - 这些东西应该可以与 JSR168/Portlet 1.0 一起使用 - 因此,如果您正在使用新的 API,那么值得检查它。)