SpringMvc 引數繫結

2021-09-24 12:36:57 字數 1623 閱讀 9378

使用這種方式獲取引數,和我們使用servlet獲取引數就一樣了

當前請求的引數名稱和處理器(控制器)形式 名字一致時,會將請求的引數與形參進行繫結

引數型別 推薦使用包裝型別 ,因為基礎的資料型別它不支援null

整型:integer、int

字串:string

單精度:float、float

雙精度:double、double

布林型別:boolean,boolean

說明:對於布林型別的引數,請求引數的值:true/false或者1/0

案例:url:

public modelandview getuserbyid(integer id)

id可以直接獲取

@requestparam 對引數做一些約束

public modelandview toedit2(@requestparam(value = 「pid」,required = true,defaultvalue = 「1」) integer id){}

value:前端傳遞過來的引數名稱:將引數pid的值解析到id上(注意一般用不到,專案開發中這些名稱我們都會知道,不會給自己增加**量)

required:是否必須傳遞該引數,如果設定為true,但是該引數有沒引數報一下錯誤

defaultvalue :該引數沒有傳遞時,預設值

注意:required和defaultvalue不能同時設定

如果提交的引數比較多,或者表單提交的時候,內容比較多,可以使用簡單型別接收資料,由於引數多,所以麻煩,建議使用實體接收資料

只需要引數名和實體類的屬性名一致就能接收

繫結陣列

需求:電商平台批量刪除資料,需要傳遞多個商品id到後台

前台:核取方塊,一組核取方塊的name肯定是一致的,比如為ids

後台:只需要使用(integer ids)接收即可

繫結實體陣列

與上面類似,只需要保證傳遞的引數名和實體的屬性名一致即可

接受資料的實體如下

public class updateusers
可以看出該實體可以接收ids的乙個陣列,還可以接收乙個實體陣列

思路:只需要傳遞的引數名和實體的屬性名一致就可以進行接受

先想一下users欄位我們取資料是怎麼取得

name=users[0].name

id=users[0].id

name1=users[1].name

id1=users[1].id

所以我們前端進行傳遞的時候應該是

引數名為?users[0].name =***&users[0].id=***&users[1].name =***&users[1].id

前台表單:

這基本上就是最複雜的引數繫結了,如果有更複雜的解思路和他也一樣

spring MVC 引數繫結

spring mvc的引數可以繫結簡單型別 pojo型別和自定義型別。1 controller預設支援的引數型別 這些物件只要在controller形參中定義就可以使用。2 簡單引數型別 此種方法需要遵循的的原則是定義的形參要與請求中的引數名一致 如果想要讓形參的名與請求中攜帶的引數名不一致,就需要...

spring mvc引數繫結

controller public class hellocontroller 當請求的引數名稱和處理器形參名稱一致時會將請求引數與形參進行繫結。spring會自動將表單引數注入到方法引數,不需要做任何處理。從request獲取引數的方法可以進一步簡化 public modelandview dem...

SpringMVC 引數繫結

處理器介面卡在執行handler之前需要把http請求的key value資料繫結到handler方法形引數上。springmvc中,接收頁面提交的資料是通過方法形參來接收,而不是在controller類定義成員變數接收!預設支援的型別 處理器形參中新增如下型別的引數處理介面卡會預設識別並進行賦值。...