2011-05-27 44 views
3

如果我添加屬性到ModelMap:如何將信息放入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

'foo'解析爲什麼?該URL必須來自重定向,在這種情況下該參數是適當的。 – skaffman 2011-05-27 18:14:27

回答

2

您可能在控制器中的某處使用了@ModelAttribute註釋。
查看對此question的回答。

1

如果您將請求方法更改爲POST,那麼模型屬性將不會顯示在URL中,它們將映射到表單域。但是,對url的請求參數是一件好事,如果你使它成爲一個Post,那麼你的用戶不能爲URL添加書籤。發佈一切的Web應用程序都是20世紀90年代。

+0

僅當您需要在字段中發送更大的數據或要隱藏信息時才使用POST – 2011-05-27 18:42:29

相關問題