如何根据输入参数从SpringFormController重定向?

时间:2015-12-08 18:20:32

标签: java spring-mvc

这是基本要求:

  1. 页面A接收可能已定义参数的http请求。
  2. 如果定义了参数,则页面A处理请求并自动转发到页面B.如果未定义参数,则显示页面A,其中包含用于填写和提交的表单。在提交时,处理请求并转发到页面B.
  3. 基本上,如果数据已作为输入参数提供给第A页,我想绕过用户通过onSubmit()输入数据的需要。我该怎么做?

    页面A和B通过扩展(不推荐使用的)SimpleFormController来实现。我之前完成此操作的一种方法是放置一个接受请求的“隐藏”页面(A'),如果定义了参数,则处理数据并重定向到B.如果未提供参数,则重定向到处理完成的地方。

    这对我来说似乎并不高效,因为它复制了很多处理代码。

    我没有提供任何代码,因为它不容易解释这个问题。

1 个答案:

答案 0 :(得分:1)

我希望我明白,但你想要一个控制器中的方法,它将根据提供的信息进行指导。

这是我很快就被淘汰的东西,我希望能帮助解决这个问题:

@RequestMapping("/pageA/{parameter}")
public String displayPageA(Model model, @PathVariable String parameter) {
   if(parameter == null)
   {
      model.addAttribute("your_form", new YourForm());
      return "pageA";
   }
   else {
      return "redirect:/pageB/"+parameter;  // this is if you want the parameter passed on
   }
}