我在 Oracle WebLogic Portal 中使用 Spring portlet MVC框架。
我有一个包含几个portlet的页面。例如page#1
(包含2个portlet - portlet#1
和portlet#2
)和另一个页面 - page#2
以及另外两个portlet(portlet#3
和portlet#4
)
第一页上的第一个portlet(portlet#1
)包含一个链接。我想转到属于portlet#3
的页面(位于另一页!!!)。
我该怎么做?
在一个页面(包含这些portlet)中的两个portlet之间创建连接不是问题。 但是是否可以在不同页面上移动的不同portlet之间移动
答案 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);