成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

request setattribute 方法 modeattribute和requestbody直接區(qū)別?

modeattribute和requestbody直接區(qū)別?@modelattribute的用法不同于@requestbody@modelattribute有兩種用法:一種是直接標記方法,另一種是標記

modeattribute和requestbody直接區(qū)別?

@modelattribute的用法不同于@requestbody

@modelattribute有兩種用法:一種是直接標記方法,另一種是標記方法的參數(shù),兩種標記方法的效果也不一樣

一種。直接標記方法

部署后運行,點擊頁面測試按鈕查看控制臺輸出,后臺控制器不直接進入模型測試.do相反,首先執(zhí)行標有@modeldattribute的init方法。應該理解,當同一控制器中的任何方法被標記為@modeldattribute annotation時,只要頁面請求進入控制器,無論請求哪個方法,都將首先執(zhí)行標記為@modeldattribute的方法。因此,我們可以使用@modeldattribute注釋來進行一些初始化操作。當同一控制器中的多個方法被標記為@modeldattribute annotation時,所有被標記為@modeldattribute的方法都將依次執(zhí)行,然后輸入請求的方法。

當@requestmapping標記和@modelattribute同時標記在同一方法上時

點擊測試頁面,進入控制器后返回,頁面報告404。這是因為在同一方法上標記兩個注釋時,邏輯視圖名稱不是返回值,而是請求的返回路徑模型測試.do生成邏輯視圖。在這里,我們修改代碼,刪除控制器上的@requestmapping標記,并修改下一個頁面的請求路徑,以便生成的視圖路徑與訪問的頁面路徑相同。

點擊測試頁面,發(fā)現(xiàn)當一個方法同時有兩個注解時,該方法的返回值將成為模型的返回值,關鍵是標記名

2、@modelattribute參數(shù)前標記

點擊頁面測試,而URL address傳遞的參數(shù)會顯示在頁面的文本框中,因為spring MVC會自動匹配頁面?zhèn)鬟f的參數(shù)的name屬性和后臺控制器中方法的參數(shù)名。如果參數(shù)名稱相同,則會自動匹配。如果控制器中的方法是封裝的bean,它會在bean中自動匹配事實上,這個value方法不需要@modeldattribute注釋,只要滿足匹配要求,它也可以得到值

(1)HttpServletRequest類有setAttribute()方法,但沒有setparameter()方法

(2)當兩個web組件鏈接時,鏈接的組件通過getparameter()方法獲取請求參數(shù),例如歡迎.jsP和驗證.jsp它們之間有聯(lián)系,歡迎.jsp中有以下代碼:

請輸入用戶名:驗證.jsp以及您好.jsp他們之間的關系是向前的。驗證.jsp希望您好.jsp傳遞當前用戶名請求.setAttribute(“用戶名”,用戶名)%