預設獲取引數的規則:
直接給方法引數上寫乙個與請求引數名相同的變數, 這個變數就能獲取到請求的引數
獲取請求引數: 預設該註解標註的引數,必須存在
@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與...