SpringMVC(3)常用的註解

2022-09-15 17:15:10 字數 4073 閱讀 8169

作用

把請求中指定名稱的引數給控制器中的形參賦值

屬性

value:請求引數中的名稱

required:請求引數中是否提供此引數,預設是true,表示必須提供,不提供就報錯。

**如下

控制器中的**

@controller

public class annocontroller

}

jsp**

testrequestparam
輸出結果

請求引數中沒有age,由於配置了false,程式正常執行,沒有報錯。

作用

用於獲取請求體內容,get 請求方式不適用。

直接使用得到是 key=value&key=value...結構的資料。

屬性

required:是否必須有請求體。預設值是:true。當取值為 true 時,get 請求方式會報錯。如果取值為 false, get 請求得到是 null。

**如下

jsp

requestbody註解get請求

控制器**

//用於獲取請求體內容

public string testrequestbody(@requestbody(required = false) string body)

輸出結果

作用

用於繫結 url 中的佔位符。 例如:請求 url 中 /delete/, 這個就是 url 佔位符。

url 支援佔位符是 spring3.0 之後加入的。是 springmvc 支援 rest 風格 url 的乙個重要標誌。

屬性

value: 用於指定 url 中佔位符名稱。

required:是否必須提供佔位符

**如下

jsp**

pathvariable註解
控制器**

// 用於繫結 url 中的佔位符

public string testpathvariable(@pathvariable(value = "id") integer nid)

作用

用於獲取請求訊息頭,在實際開發中一般不怎麼用。

屬性

value:提供訊息頭名稱

required:是否必須有此訊息頭

**如下

控制器

// 獲取請求頭的值

public string testrequestheader(@requestheader(value="accept-language",

required=false)string header)

jsp**

requestheader註解
輸出結果

作用

用於把指定 cookie 名稱的值傳入控制器方法引數。

屬性

value:指定 cookie 的名稱。

required:是否必須有此 cookie。

**如下

jsp**

testcookievalue註解
控制器**

// 用於把指定 cookie 名稱的值傳入控制器方法引數。

public string testcookievalue(@cookievalue(value = "jsessionid")string cookievalue)

springmvc4.3 版本以後新加入的,可用於修飾方法和引數。

作用

修飾方法:表示當前方法會在控制器的方法執行之前,先執行。

修飾引數:獲取指定的資料給引數賦值

屬性

value:用於獲取資料的 key。

key 可以是 pojo 的屬性名稱,也可以是 map 結構的 key。

舉例:

**

// 測試

public string testmodelattribute()

// 被 modelattribute修飾的無返回值方法

@modelattribute

public void showuser()

jsp**

輸出結果

案例:如果表單提交的資料資料不完整,可以在方法上加上補充,有返回值的情況;

jsp**

modelattribute修飾有返回值的方法
控制器**

public string testmodelattribute(user user)

// 該方法會先執行

@modelattribute

public user showuser(string uname)

輸出結果

控制器**

public string testmodelattribute(@modelattribute("abc") user user)

// 該方法會先執行

@modelattribute

public void showuser(string uname,mapmap)

輸出結果

作用

用於多次執行控制器方法間的引數共享。

屬性

value:用於指定存入的屬性名稱

type:用於指定存入的資料型別。

**如下

/**

* 把資料存入 sessionattribute

* @param model

* @return model 是 spring 提供的乙個介面,該介面有乙個實現類 extendedmodelmap

* 該類繼承了 modelmap,而 modelmap 就是 linkedhashmap 子類

*/public string testput(model model)

// 獲取session

public string testget(modelmap model)

// 清除

public string complete(sessionstatus sessionstatus)

jsp**

存入 sessionattribute

取出 sessionattribute

清除 sessionattribute

springmvc(3) 引數繫結

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

深入理解Spring MVC 3 一

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

SpringMVC 3 資料的傳入與傳出

預設獲取引數的規則 直接給方法引數上寫乙個與請求引數名相同的變數,這個變數就能獲取到請求的引數 獲取請求引數 預設該註解標註的引數,必須存在 requestparam ha string param param request.getparameter ha 三個屬性 value name 請求引數...