从一种控制器方法到另一种控制器方法的内部转发(Spring-MVC)

时间:2012-10-23 17:13:24

标签: java spring spring-mvc

我是Spring的新手,所以不知道我怎么做。我必须使用单一控制器方法来处理2个用例。

方法已经到位所以我无法更改它的签名,因为它可以打破所有其他功能主义者,这里是方法签名

@RequestMapping(value = "/edit-address", method = RequestMethod.POST)
    public @ResponseBody JsonResponse editAddress()

JsonResponse是具有以下签名的自定义对象

private String status;
private Object result;
private String steps;

还有一个要求我们需要从第三部分验证此地址,并根据需要显示弹出窗口的返回结果。 如果方法签名不是自定义对象,我可以很容易地显示popu-up,但现在不知道我该如何做到这一点

有没有办法实现任何一个跟随

  1. 从此方法将JSP内容发送回视图以代替JSON对象。
  2. 要在内部将控制转发到控制器中的另一个方法,该方法可以将视图发送回UI

1 个答案:

答案 0 :(得分:0)

如何在另一个控制器中编写此控制器,您可以控制并将调用内部委托给此控制器,这样:

@Controller
public class WrapperController{
    @Autowired JsonResponseController jsonResponseController;

    @RequestMapping("/custom_jspview")
    public String customRequestMapping(..., Model model){
        JsonResponse jsonResponse = this.jsonResponseController.editAddress();
        model.addAttribute("jsonresponse", "jsonResponse");
        return "myview";
    }

    @RequestMapping("/redirectView")
    public String redirectView(){
         return "redirect:/custom_jspview";
    }
}
相关问题