【问题标题】:Spring-MVC :: How to pass request parameters (or) query string values to another subsequent request?Spring-MVC :: 如何将请求参数(或)查询字符串值传递给另一个后续请求?
【发布时间】:2013-06-08 08:38:55
【问题描述】:

我有一个场景将值从一个请求传递到另一个后续请求。 (即)我将在第一个请求上调用“Controller1”并获取请求参数或查询字符串,并将它们作为“新请求”发送到“Controller2”。

严格来说,我不应该使用以下任何一种方法。

  1. 不应使用会话。
  2. 不应使用 cookie。
  3. 不应使用 requestdispatcher.forward(--)。
  4. 没有 FlashAttributes(内部使用会话,在“集群环境”中不起作用)。
  5. 不应在重定向的情况下在请求参数中公开 ModelAttribues(即)我什至不应该使用 spring RedirectView 将它们公开为请求参数。

如果我们有任何替代方法,请告诉我。 提前致谢。

【问题讨论】:

    标签: java spring jakarta-ee servlets spring-mvc


    【解决方案1】:

    你可以直接调用底层方法

    所以如果你有控制器2:

    @RequestMapping(value = "/MyURL", method = RequestMethod.POST)
    public String myMethod(final BaseDTO baseDTO, Model model) {}
    

    将controller2注入controller1并“正常”调用:

    controller2.myMethod(baseDTO, model);
    

    【讨论】:

    • “将控制器 2 注入控制器 1” ew,闻起来很糟糕
    • @SeanPatrickFloyd 我会对任何“不那么臭”的解决方案感兴趣......重构逻辑并将代码粘贴到单独的服务类中?
    • 鉴于 OP“严格来说,我不应该使用以下任何方法。”列表:祝你好运
    猜你喜欢
    • 2019-09-29
    • 1970-01-01
    • 2016-04-01
    • 2012-08-28
    • 1970-01-01
    • 2021-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多