【问题标题】:Redirection to another controller in Spring Portlet MVC重定向到 Spring Portlet MVC 中的另一个控制器
【发布时间】:2013-05-15 07:34:13
【问题描述】:

我有一个带有两个控制器的 Spring 3.0 Portlet。 Controller-1 有默认的 @RenderMapping 注释方法,我在其中运行一些逻辑来决定要渲染的视图,比如 view-1 和 view-2。

view-1 的模型属性填充在 Controller-1 中,view-2 的模型属性填充在 Controller-2 中。

当我的逻辑需要返回 view-2 时,如何重定向到 Controller-2,以便填充 view-2 对应的 Model 属性。

【问题讨论】:

    标签: spring-portlet-mvc


    【解决方案1】:

    您可以从控制器 1 调用控制器 2 中的方法。

    controller-1 的渲染方法的伪代码

    if(yourCondition){
        return controller-2.renderMethod();
    }
    populateYourModel
    return view;
    

    尽管您可能想重新考虑这个逻辑。听起来请求在某些方面有所不同,因此理想情况下您可以将它们直接发送到正确的控制器。

    【讨论】:

    • 感谢您的输入,但我目前正在做的是,当我的条件通过 Model 属性满足时,显式调用控制器 2 中的 populateModel 并用 @ModelAttribute 注释,然后返回相应的视图。我很怀疑@ModelAttribute 注释的方法是否会通过在controller-2 中简单地调用renderMethod() 来执行。我在 Spring 中寻找将请求转发给其他控制器的东西,然后执行 @ModelAttribute 注释方法并处理该控制器的默认 @RenderMappong 方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2018-02-11
    • 2016-08-22
    • 1970-01-01
    相关资源
    最近更新 更多