我目前正在我的控制器中使用@ModelAttribute注释来向我的页面和表单添加引用数据,即:
@ModelAttribute("someValue")
public String getSomeValue() {
return someValue;
}
这很有效,直到我开始使用控制器的重定向。标有@ModelAttribute的方法中的所有值都显示在URL中,即:
http://somedomain.com/page?someValue=value
是否有设置关闭此功能?或者有一个简单的解决方法吗?
我读到了一些关于创建拦截器以将参考数据添加到模型中的内容,但这似乎是错误的:
http://developingdeveloper.wordpress.com/2008/02/28/common-reference-data-in-spring-mvc/
答案 0 :(得分:3)
我发现RedirectView对象上有一个名为setExposeModelAttributes的setter。如果将其设置为false,则不会将属性抛入URL中。
我在春季源论坛上得到了PUK_999的帮助:
http://forum.springsource.org/showpost.php?p=274948&postcount=6
答案 1 :(得分:0)
@ModelAttribute
这是{{1}}的故意和具体行为,即使它确实感到错误和破裂。
拦截器实际上是最简单的方法之一。