如何从一个portlet到另一个portlet创建引用?

时间:2014-01-02 13:38:58

标签: java spring-mvc spring-portlet-mvc

我在 Oracle WebLogic Portal 中使用 Spring portlet MVC框架

我有一个包含几个portlet的页面。例如page#1(包含2个portlet - portlet#1portlet#2)和另一个页面 - page#2以及另外两个portlet(portlet#3portlet#4

第一页上的第一个portlet(portlet#1)包含一个链接。我想转到属于portlet#3的页面(位于另一页!!!)。

我该怎么做?

在一个页面(包含这些portlet)中的两个portlet之间创建连接不是问题。 但是是否可以在不同页面上移动的不同portlet之间移动

1 个答案:

答案 0 :(得分:0)

这与此问题类似Spring Portlet MVC sentRedirect and setRenderParameter

您可以在portlet#1中使用重定向链接到第2页

Portlet控制器portlet#1

@ActionMapping("doGotoPage2")
public void doGoToPage2(ActionRequest req,
    ActionResponse resp) {

 try {
    resp.sendRedirect("/url/to/page#2");
 } catch (IOException ex) {
    Logger.getLogger(DefaultViewController.class.getName()).log(Level.SEVERE, null, ex);
 }
}

并将属性设置为PortletSession

 PortletSession session = req.getPortletSession();
 session.setAttribute("key", "value", PortletSession.APPLICATION_SCOPE);

然后你可以在portlet#3中读取PortletSession并相应地处理它

PortletController portlet#3

PortletSession session = req.getPortletSession();
String sessionKey= (String) session.getAttribute("key", PORTLET_SESSION_SCOPE);