gpt4 book ai didi

java - 一个 Portlet 中的多个页面

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:29:33 24 4
gpt4 key购买 nike

我很好奇是否有人知道单个 portlet 是否可以包含多个页面,比如说 JSP 页面。此外,是否可以链接到同一 portlet 中的这些不同页面?

例如。假设我有一个 portlet。在这个 portlet 中,我希望初始 View 是一个 JSP 页面,其中只有 5 个链接指向 5 个不同的 JSP 页面。当用户单击这 5 个链接之一时,它会将适当的 JSP 页面加载到 portlet 中。

最终目标基本上是一个小型网站,全部包含在一个 portlet 中。

现在,我明白这可能不是 portlet 的最佳用途,但为了我正在从事的项目,我仍然想知道它是否可行。

谢谢!

最佳答案

当然,一个 portlet 可以包含多个 JSP。

您可以通过 PortletRequestDispatcher 显示任何您想要的 JSP在你的doView (或doHelpdoEdit)方法:

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);
}

你可以使用 parameter设置 View 。在带有链接的 JSP 中,您需要使用 Portlet API 来创建/编码到 Portlet 的链接。例如:

<portlet:renderURL>
<portlet:param name="myview" value="foo"/>
</portlet:renderURL>

(我还没有真正了解 JSR286/Portlet 2.0 - 这些东西应该适用于 JSR168/Portlet 1.0 - 所以如果你正在使用它,值得检查一下新的 API。)

关于java - 一个 Portlet 中的多个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1407418/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com