SpringMVC 3 資料的傳入與傳出

2021-09-26 10:52:32 字數 2449 閱讀 6267

預設獲取引數的規則:

直接給方法引數上寫乙個與請求引數名相同的變數, 這個變數就能獲取到請求的引數

獲取請求引數: 預設該註解標註的引數,必須存在

@requestparam(「ha」)string param ===> param = request.getparameter(「ha」);

三個屬性:

value = name : 請求引數名

required default true: 指定該引數是否必須存在

defaultvalue : 設定預設值

@requestheader:

獲取請求頭中某個key的值:預設該註解標註的引數,必須存在

@requestheader(「user-agent」)string ss ===> string ss = request.getheader(「user-agent」);

三個屬性:

value = name : 請求引數名

required default true: 指定該引數是否必須存在

defaultvalue : 設定預設值

@cookievalue:

獲取某個cookie的值

public string test (@cookievalue(「sessionid」)string sessionid) { …

pojo自動裝配:

使用 pojo 物件繫結請求引數值

spring mvc 會按請求引數名和 pojo 屬性名進行自動匹配,自動為該物件填充屬性值。支援級聯屬性

可以在方法處傳入map, 或者model或者modelmap物件,(具體實現都是 bindingawaremodelmap)

spring mvc 在內部使用了乙個 org.springframework.ui.model 介面儲存模型資料

spring mvc 在呼叫方法前會建立乙個隱含的模型物件作為模型資料的儲存容器。

如果方法的入參為 map 或 model 型別,spring mvc 會將隱含模型的引用傳遞給這些入參。

給這些引數裡面儲存的資料都會放在域中,可以在頁面獲取

資料都會放在請求域中

modelandview

① 控制器處理方法的返回值如果為 modelandview, 則其既包含檢視資訊,也包含模型資料資訊。資料放在請求域中

② 新增模型資料:

moelandview addobject(string attributename, object attributevalue)

modelandview addallobject(mapmodelmap)

③ 設定檢視, 即要顯示的模型顯示檢視:

void setview(view view)

void setviewname(string viewname)

new modelandview(viewname );

@sessionattributes:

springmvc提供的一種可以臨時給session域中儲存資料的方法

@sessionattributes(value = 「msg」), 在**中給bindingawaremodelmap, modelandview中儲存的資料(名為"msg"), 同時給session放乙份.

① @sessionattributes(types=user.class) 根據型別, 將隱含模型中所有型別為 user.class 的屬性新增到session中.

@modelattribute: 作用於方法入參

使用@modelattribute指定pojo回顯到頁面在request中的key, 即儲存在modelandview中的key, value為標註的物件. 若model中已經存在了乙個同key的值, 會先將這個值賦值給引數物件.

在方法定義上使用 @modelattribute 註解:spring mvc 在呼叫目標處理方法前,會先逐個呼叫在方法級上標註了 @modelattribute 的方法, 並將方法作為mode的屬性,然後再呼叫對應的controller處理方法。

標註了value值: 引數名為value, 值為方法的返回值

未標註value值, 方法有返回值型別: 引數名為返回值類的首字母小寫, 值為返回值

未標註value值的void的方法: 引數名為void, 值為: null

web.xml中配置characterencodingfilter過濾器:

characterencodingfilter

org.springframework.web.filter.characterencodingfilter

encoding

utf-8

forceencoding

true

/*

springmvc(3) 引數繫結

1.引數繫結過程 2.預設支援的型別 直接在controller方法形參上定義下邊型別的物件,就可以使用這些物件。通過request物件獲取請求資訊 通過response處理相應資訊 model是乙個介面,modelmap是乙個介面實現。作用 將model資料填充到request域。2.5 簡單資料...

SpringMVC(3)常用的註解

作用 把請求中指定名稱的引數給控制器中的形參賦值 屬性 value 請求引數中的名稱 required 請求引數中是否提供此引數,預設是true,表示必須提供,不提供就報錯。如下 控制器中的 controller public class annocontroller jsp testrequest...

深入理解Spring MVC 3 一

一 前言 struts2也是比較優秀的mvc構架,優點非常多比如良好的結構。但這裡想說的是缺點,struts2由於採用了值棧 ognl表示式 struts2標籤庫等,會導致應用的效能下降。struts2的多層 多例項action效能都很好。可以參考我寫的一篇關於spring mvc與struts2與...