如何在不显示查询字符串的情况下将信息放入ModelMap中?

时间:2011-05-27 16:55:48

标签: java spring-mvc

如果我向ModelMap添加属性:

    model.addAttribute("abc", 123);

并显示视图:

@RequestMapping(value = "/foo", method = RequestMethod.GET)
public final String foo(HttpServletRequest request, BindingResult bindResult, ModelMap model) {
    model.addAttribute("abc", 123);
    return "foo";
}

我在浏览器地址栏中看到了这一点:

http://localhost:6060/foo?abc=123

是否可以在模型中添加属性而不显示为查询字符串名称 - 值对? (我正在使用Spring MVC 3.0)

2 个答案:

答案 0 :(得分:2)

您可能正在控制器中的某处使用@ModelAttribute注释 请参阅此question的答案。

答案 1 :(得分:1)

如果您将请求方法更改为POST,则模型属性不会显示在网址中,它们将映射到表单字段。但是在网址上请求参数是一件好事,如果您将其设为发布,则您的用户无法为网址添加书签。发布所有内容的Web应用程序都是在20世纪90年代。