Java 从Spring控制器发送重定向
如果返回类型不是URL Handkler方法的字符串,如何从Spring控制器发送重定向Java 从Spring控制器发送重定向,java,spring,spring-mvc,Java,Spring,Spring Mvc,如果返回类型不是URL Handkler方法的字符串,如何从Spring控制器发送重定向 @RequestMapping(value = "/save", method = RequestMethod.POST) @ResponseBody public JsonResponse save(@RequestBody FormBean formBean) { if(condition true) ? Save(formBean) : "redirect:/an
@RequestMapping(value = "/save", method = RequestMethod.POST)
@ResponseBody
public JsonResponse save(@RequestBody FormBean formBean) {
if(condition true)
? Save(formBean)
: "redirect:/anotherUrl";
}
JsonResponse是一个返回类型,实际上是一个java类,我如何在这里发送重定向?您必须从控制器方法返回一个
ResponseEntity
。它有一个HttpStatus'和可以设置的标题,以及一个作为域对象的主体。要重定向,您通常会将状态设置为
FOUND(302),并添加一个带有URL的
Location`头,以便客户端重定向。您可以返回ModelAndView,将视图设置为JSON视图(或任何适当的名称),否则返回“default”视图(我认为它是JspView或类似的东西……看看JavaDoc视图,看看是什么实现了它)为什么要重定向?当需要JsonResponse
时,重定向不是很合乎逻辑。我没有使用ModelAndView,这就是问题所在。对于所有响应,我都使用JSON response.Brat,我正在实现sychronizer令牌。因此,对于每个请求,我都会检查令牌,如果它匹配,则请求继续,否则将重定向t他将用户转到应用程序的主页。请看。这是处理问题的正确方法。这如何回答问题?这与重定向无关。