Java Spring MVC Flash属性
如何增强下面的控制器以利用Spring MVC的Flash属性?用例是一个复制函数 发布/请求/获取实现:Java Spring MVC Flash属性,java,spring,spring-mvc,Java,Spring,Spring Mvc,如何增强下面的控制器以利用Spring MVC的Flash属性?用例是一个复制函数 发布/请求/获取实现: 客户端单击UI中的“复制”按钮 服务器设置响应“位置”标题 客户端重定向到“路径/到/页面?复制” 服务器提供ModelAndView 客户端(jQuery成功函数)设置window.location FooController重定向方法: @RequestMapping(value = "{fooId}", method = POST, params = { "copy" }) @Tra
@RequestMapping(value = "{fooId}", method = POST, params = { "copy" })
@Transactional
@ResponseStatus(CREATED)
public void getCopyfoo(@PathVariable String fooId,
HttpServletResponse response, RedirectAttributes redirectAttrs) {
response.setHeader("Location", uriPath);
//no worky?!:
redirectAttrs.addFlashAttribute("barKey", "barValue");
}
FooController获取方法:
@RequestMapping(value = "{fooId}", method = GET)
@Transactional(readOnly = true)
public ModelAndView findFooById(@PathVariable String fooId,
HttpServletRequest request){
Map<String, ?> map = RequestContextUtils.getInputFlashMap(request);
// map is empty...
return modelAndViewFromHelperMethod();
}
@RequestMapping(value=“{fooId}”,method=GET)
@事务(只读=真)
公共模型和视图findFooById(@PathVariable String fooId,
HttpServletRequest请求){
Map Map=RequestContextUtils.getInputFlashMap(请求);
//地图是空的。。。
从HelperMethod()返回模型和视图;
}
我很惊讶重定向属性
仅适用于重定向视图
,
因此,您的控制器应返回,例如:
1. String: "redirect:/[uriPath]"
2. new RedirectView([uriPath])
如果您确实需要使用JS处理服务器响应,那么处理HTTP状态302可能会有所帮助