springMVC學習(二) 註解學習

2021-10-08 03:42:03 字數 1777 閱讀 4381

(其中**為控制器中的方法)

@requestparam:把請求中指定名稱的引數給控制器中的形參賦值(當請求引數與形參名稱不一致時)

例:此時的jsp請求為:requestparam

public string testrequestparam(@requestparam(name="uname") string username)

@requestbody:用於獲取post請求體內容,直接使用獲得key=value&key=value……結構的資料

public string testrequestparam(@requestbody string body){}
@pathvariable:用於繫結url中的路徑變數

public string usepathvariable(@pathvariable("id") integeer id){}

@requestheader:獲取請求訊息頭,

例:accept為訊息頭名稱(鍵值對的鍵)

public string testrequestheader(@requestheader(value="accept") string header){}

@cookievalue:用於把指定的cookie名稱的值傳入控制器方法引數,

基本同@requestheader

public string testcookievalue(@cookievalue(value="jsession") string cookie){}

出現在方法上,當前方法在控制器方法執行之前先執行;出現在引數上,獲取指定的引數給引數賦值

應用場景:當表單提交的資料不是完整的實體類資料時(屬性值不全),保證沒有提交的字段(類屬性)使用資料庫物件原來的資料

<%--缺少使用者日期屬性--%>
使用:

1)當註解用於修飾方法時,該方法先執行,若該方法有返回值,返回值(user物件)會傳遞給接下來執行的控制器方法(處理請求的方法),經過先執行方法的預處理,資料被補全,之後表單傳遞的引數對物件中的屬性其進行部分覆蓋。

/**

* 該方法會先執行

*/ @modelattribute

public user showuser(string uname)

public string testmodelattribute(user user)

2)若@modelattribute註解的方法沒有返回值,則將user物件放入map裡面,之後用@modelattribute修飾請求處理方法的引數取出物件,然後表單資料對其進行覆蓋。

@modelattribute

public void showuser(string uname, mapmap)

public string testmodelattribute(@modelattribute("abc") user user)) // 把msg=美美存入到session域對中

public class annocontroller

}

SpringMVC學習筆記(二)常用註解

web.xml xmlns xsi version 3.1 dispatcherservlet org.springframework.web.servlet.dispatcherservlet 1 do characterencodingfilter org.springframework.web...

二 Spring Mvc註解類

2.常用註解類 component controller service repository 四大註解類 resource autowired 註解類的異同 autowired預設按型別裝配,預設情況下必須要求依賴物件必須存在,如果要允 許null值,可以設定它的required屬性為false,...

註解驅動的spring mvc 二

previous 註解驅動的spring mvc 一 spring mvc可以通過可以通過多種方式確定檢視名,在前面的例子中,方法無返回值,檢視名更具請求引數確定。controller方法還是返回乙個string型別的值作為檢視名。public string listalluser 那麼該例子的視 ...