【发布时间】:2020-07-23 22:58:46
【问题描述】:
重定向到外部 url 后,我在获取属性时遇到了问题。 重定向到外部 url 时,我将属性值设为 null,就像我将这些方法放在同一个 webapp 中一样。
请提出我做错了什么,或者是否有任何方法,以便我可以将属性传递给重定向的 url 并使用它。
我不希望属性显示为 Queryparams。
示例代码如下。
//app1中的控制器
@PostMapping("/redirect")
public RedirectView next(RedirectAttributes redirectAttributes, Model model, HttpServletResponse response, HttpServletRequest request) {
request.setAttribute("payment",new Payment("1","2","3"));
redirectAttributes.addAttribute("test", "test");
redirectAttributes.addFlashAttribute("message", "Successfully changed..");
redirectAttributes.addFlashAttribute("payment1",new Payment("1","2","3"));
request.setAttribute(
View.RESPONSE_STATUS_ATTRIBUTE, HttpStatus.TEMPORARY_REDIRECT);
RedirectView redirectView = new RedirectView("redirect:http://localhost:8085/redirectedPostToPost", true);
redirectView.addStaticAttribute("payment",new Payment("1","2","3"));
return redirectView;
}
//app2的控制器。
@PostMapping("/redirectedPostToPost")
public ModelAndView redirectedPostToPost(@ModelAttribute("message") String message,@ModelAttribute("payment") Payment payment,@ModelAttribute("payment1") Payment payment1, RedirectAttributes redirectAttributes,Model model, HttpServletResponse httpServletResponse, HttpServletRequest request, ModelAndView modelview) {
logger.info("in redirectedPostToPost:{} : modelview:{}", model, modelview.getModel());
Map<String, ?> inputFlashMap = RequestContextUtils.getInputFlashMap(request);
logger.info("flashmap:{}", inputFlashMap);
return new ModelAndView("about");
}
提前谢谢你们。
【问题讨论】:
标签: spring-boot redirect response.redirect post-redirect-get