spring mvc的傳值問題

2021-06-27 03:24:15 字數 806 閱讀 3647

上面學習了如何通過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...