【问题标题】:Show different portlet pages according to PortletPreferences根据 PortletPreferences 显示不同的 portlet 页面
【发布时间】:2011-07-18 14:16:28
【问题描述】:

我有一个处理关税和关税类别的 portlet。我正在使用 Liferay 5.2.3 和 Spring Portlet 框架。


添加到页面时,portlet 应该在两种模式下工作:

  1. 显示主屏幕-标准模式(MainScreenController)
  2. 显示关税类别详细信息 (TariffCategoryController) - 当设置了 portlet 首选项“showCategoryDe​​tail”时

当设置了 portlet 首选项时,我无法弄清楚如何将请求更改/转发到 TariffCategoryController。你能给我一个提示吗?谢谢!

@Controller("mainScreenController")
@RequestMapping("VIEW")
public class MainScreenController {

    @RenderMapping
    public String handleRenderRequest() {
        return "mainScreen";
    }

    ...
}


@Controller("tariffCategoryController")
@RequestMapping("VIEW")
public class TariffCategoryController {

    @RenderMapping(params = "myaction=showTariffCategory")
    public String handleRenderRequest() {
        return "tariffCategory";
    }

    ...
}

【问题讨论】:

    标签: java spring-mvc liferay portlet portal


    【解决方案1】:

    Standard Spring 的DefaultAnnotationHandlerMapping 不适用于portlet 首选项。如果您需要这样的功能,编写自己的自定义HandlerMapping 实现应该很容易。

    但我会建议一种不同的方法。无论任何偏好都显示默认视图,如果未设置偏好,则显示一条消息说“需要配置”,并带有指向编辑模式的链接。为什么?因为首选项只能在 EDIT 模式下进行编辑,并且您不需要基于 portlet 首选项的路由。

    【讨论】:

    • 刚刚注意到我已经回答了将近一年的问题。好吧,希望有人会觉得它有用:)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-01
    • 2014-12-21
    • 1970-01-01
    • 2013-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多