上面學習了如何通過url位址列傳引數給controller,那麼接下來,學習下controller如何將傳遞給view。
1、在welcomcontroller類中的建立如下方法:
此時專案目錄如圖:
2、在jsp頁面輸入如下**:
從操作例項上不難看出,直接使用map就可以傳值。但是在spring的官網上,明確給出不建議使用map傳值。
4、第二種傳值方式model(spring建議使用的方式)
使用上面的方法傳值與使用map的效果是一樣兒的。很方便。
5、與structs2傳值方式相比
在structs2中,要想傳值(username),我們要這樣兒寫:
private string username;
//setter ,getter方法
用這種方法傳值最大的問題就是:如果controller是單例的,則第乙個請求未處理完成時,第二個請求到來,username的值還是第乙個請求時的值,所以struts2要在action上設定scope引數。
spring mvc就不存在這個問題。而且spring mvc中的controller是單例的,執行效率相對於structs2也要高。
6、關於model傳值中的乙個需要注意的地方:
model.addattribute(username);
上面的這種情況就是:在傳值的時候沒有key,那麼它的key究竟是什麼呢?
在spring文件中,明確指出,如果不指定key,則預設使用物件的型別(是型別)做為key。
7、在welcome.jsp頁面中輸入如下**:
8、輸出結果如下圖所示:
Spring MVC傳值亂碼問題
在web.xml設定了過濾器解決亂碼問題後,使用字串拼接仍然會出現中文亂碼問題,經過一番查詢之後,發現是在tomcat上出了問題,springmvc是基於servlet的,在http請求到達servlet解析之前,get方式過來的uri已經被tomcat進行了一次uridecode了,即轉為了iso...
springMVC傳值的幾種方式
springmvc傳值的幾種方式 此直註解還可給類新增註解,傳送post請求後便於控制器跳轉尋找到該類和該方法。springmvc前端向後端傳值 前端傳到後端的資料可能包括變數,陣列,物件,json等形式。變數 控制器中的形參和表單中的name相同即可獲取該變數,當然,如果想自己設定別名,使用 re...
springMVC 前後端傳值
由於在寫 的時候經常需要前後端進行傳值,那麼總結下前端是如何給後端傳值,以及後端是如何接收的。以下包括 pathvarible,pathparam,requestparam,requestbody,requestheader 以及 spring 自動封裝。前端 http localhost 8080...