【问题标题】:How to create a reference from one portlet to another?如何创建从一个 portlet 到另一个 portlet 的引用?
【发布时间】:2014-01-02 13:38:58
【问题描述】:

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

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

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

我该怎么做?

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

【问题讨论】:

  • 我猜你可以使用IPC

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


【解决方案1】:

这类似于这个问题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);

【讨论】:

    猜你喜欢
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多