springmvc中處理方法和數據綁定(PathVariable(2)、RequestParam(3,6))

  1. 接受servlet的內置對象
  2. 接受請求路徑中的佔位符
  3. 接受普通的請求參數
  4. 直接獲取cookie
  5. pojo對象的綁定。
  6. java基本數據類型。
  7. 集合的映射

第一個:綁定servlet內置對象

在Controller中獲取Servlet的內置對象(Request、 Response、Session)是非常簡單的,如下:

public void test (HttpServletRequest request) {-}
public void test (HttpServ1etResponse response) {_}
public void test (HttpSession session) {--}

獲取servlet中的內置對象。request , response. session需要那個對象,就在方法添加某個對象的參數即可

第二個:@PathVariable獲取佔位符中的參數

通過@PathVariable可以綁定佔位符參數到方法參數中,例如:@PathVariable(' "userld") Long userld

@PathVariable 也可以獲取到佔位符中的參數信息(注意:都給標註出來,就不會出現問題,簡單一句,佔位,參數都保持一至)
在這裏插入圖片描述
注意:是否把我們每個方法參數中的名字編譯到我們class文件中去,如果@PathVarialbe,如果沒有編譯就會報錯,不要省略
在這裏插入圖片描述

第三個:@RequestParam

在這裏插入圖片描述
注意:當defaultValue有值的時候,required自動修改成false。
當修改成false的時候參數username可以傳也可以不傳,如果沒有傳參,默認走defaultValue裏的值

在這裏插入圖片描述

第四個:@CookieValue

知識點回顧:
如何獲取指定的cookie值

Cookie[] cookies = request.getCookies();
對數組進行遍歷,根據cookie中的name 來找到對應的cookie
for(Cookie cookie : cookies){
	cookie.getName().eq(“abc”);
    cookie.getValue();獲取cookie中的值
}

可以通過springmvc的註解就可以直接獲取到cookie
在這裏插入圖片描述
注意:
Jsessionid是session的標識,存入在cookie裏面
訪問jsp頁面的時候cookie被創建,第一次創建request.getsession的時候(第一次獲取session對象的時候),一定是已經存在的cookie纔有jessionid

案例:
在這裏插入圖片描述
在這裏插入圖片描述

第五種:POJO對象綁定參數

SpringMVC會將請求過來的參數名和POJO實體中的屬性名進行匹配,如果名稱一致,將把值填充到對象中。

示例:
創建一個實體類
在這裏插入圖片描述
在這裏插入圖片描述
測試:(這裏今天通過url進行傳參)
在這裏插入圖片描述

第六個:Java的基本數據類型綁定

在這裏插入圖片描述

表單代碼:

<form action="/demos/demo1.action" method="post">
	<div>姓名:</div>
	<div><input name="name" value="張三"/></div>
	<div class="clear"></div>
	<div>年齡:</div>
	<div><input name="age" value="20"/></div>
	<div class="clear"></div>
	<div>收入:</div>
	<div><input name="income" value="100000"/></div>
	<div class="clear"></div>
	<div>結婚:</div>
	<div>
	<input type="radio" name="isMarried" value="true" checked="checked"/>是
	<input type="radio" name="isMarried" value="false"/>否</div>
	<div class="clear"></div>
	<div>興趣:</div>
	<div>
	<input type="checkbox" name="interests" value="聽歌" checked="checked"/>聽歌
	<input type="checkbox" name="interests" value="書法" checked="checked"/>書法
	<input type="checkbox" name="interests" value="看電影" checked="checked"/>看電影
	</div>
	<div class="clear"></div>
	<div><input type="submit" value="提交表單"/></div>
</form>

在這裏插入圖片描述

第七個:集合List綁定

如果方法需要接受的list集合,不能夠直接在方法中書寫List
List的綁定,需要將List對象包裝到一個類中才能綁定
要求:表單中的name的值
要求表單name的值, 和封裝的對象中的結合的屬性名一致。

如:

	<form action="/hello2/show16.do">
		用戶1:<input type="text" name="users[0].userName"/><br/>
		用戶2:<input type="text" name="users[1].userName"/><br/>
		用戶3:<input type="text" name="users[2].userName"/><br/>
		<input type="submit" value="測試"/>
	</form>

類:
把list封裝到一個(UserForm)對象中

在這裏插入圖片描述
這裏採用了pojo自動綁定
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章