有没有一种方法可以阻止Spring将标有@ModelAttribute的方法的参考数据添加到重定向中的URL中?


问题内容

我目前在控制器中使用@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/


问题答案:

我发现在RedirectView对象上有一个设置程序,称为setExposeModelAttributes。如果将其设置为false,则不会将属性引发到URL中。

在spring的源论坛中,我从PUK_999获得了一些帮助:

http://forum.springsource.org/showpost.php?p=274948&postcount=6