我正在通过返回包含URL的String从Spring MVC控制器进行重定向:
return "redirect:/my/form/newpage.html?pid=".concat(myform.getId().toString());
这给出了这样的字符串:
redirect:/my/form/newpage.html?pid=456
问题是,Spring
ModelFactory
类将我们所有的会话属性附加到查询字符串中,这看起来很可怕。我真的很想将此重定向从GET更改为POST,但是我不知道该怎么做。有人可以帮忙吗? 最佳答案
您不能真正更改HTTP重定向方法,但是
您可以尝试这样做以避免将变量暴露给path(而是将这些变量显式添加为pid):
public ModelAndView redirectToSomewhere() {
RedirectView redirectView = new RedirectView("/my/form/newpage.html?pid=".concat(myform.getId().toString());
redirectView.setExposeModelAttributes(false); // these
redirectView.setExposePathVariables(false); //two depend on the way you set your variables
return new ModelAndView(redirectView);
}