SSM應用(五)--參數綁定
阿新 • • 發佈:2018-05-07
result value .get 數組 愛好 () 綁定 mapping 閱讀
參數綁定
通過方法的輸入獲得參數的值叫做參數綁定;參數綁定可以分為簡單參數綁定、pojo類型參數綁定、vo類型參數綁定、數組類型參數綁定以及集合類型參數綁定;
簡單參數綁定
頁面:
<form action="reg.action" method="post"> 用戶名:<input type="text" name="username" /><br/> 密碼:<input type="text" name="password" /><br/> <input type="submit"value="註冊" /> </form>
當頁面傳遞的參數名和傳遞的參數名一致時,可以直接綁定輸入參數:
//文本框的名字與參數的名字一樣的時候,可以直接實現參數綁定 @RequestMapping("/reg.action") public String reg2(String username,String password) { System.out.println(username+","+password); return "result"; }
頁面所傳遞的參數名和輸入參數名不一致時,可以使用:@PequestParam;
//文本框與參數的名字不一致的時候:使用:@RequestParam:匹配頁面所產地的參數的名字 @RequestMapping("/reg.action") public String reg(@RequestParam(value="username")String name,String password) { System.out.println(name+","+password); return "result"; }
pojo類型參數綁定
pojo 類:
public class User { private String username;private String password; }
對象類型:參數名與pojo類的屬性名一致的時候,參數值作為對象的屬性值,會直接綁定為對象;
<form action="reg.action" method="post"> 用戶名:<input type="text" name="username" /><br/> 密碼:<input type="text" name="password" /><br/> <input type="submit" value="註冊" /> </form>
controller層:
@RequestMapping("/reg.action") public String reg(User user) { System.out.println(user); return "result"; }
vo類參數綁定
vo類:
public class UserVO { private int id; private User user; }
在參數傳遞頁面,可以使用:對象.對象屬性名 做匹配
<form action="reg6.action" method="post"> <!-- id參數名和vo的id屬性名一致的時候,可以直接綁定到vo對象 --> id:<input type="text" name="id" /><br/> <!--vo的另外一個屬性時user,參數名:類.屬性名 --> 用戶名:<input type="text" name="user.username" /><br/> 密碼:<input type="text" name="usser.password" /><br/> <input type="submit" value="註冊" /> </form>
controller層:
@RequestMapping("/reg.action") public String reg(UserVO userVO) { System.out.println(userVO); return "result"; }
數組類型參數的綁定
和基本參數類型的綁定類似,可以直接通過數組名進行綁定;
頁面:
<form action="reg.action" method="post"> 用戶名:<input type="text" name="username" /><br/> 密碼:<input type="text" name="password" /><br/> 愛好: <input type="checkbox" name="intrests" value="1">踢球 <input type="checkbox" name="intrests" value="2">閱讀 <input type="checkbox" name="intrests" value="3">編程 <br/> <input type="submit" value="註冊" /> </form>
controller層:
@RequestMapping("/reg.action") public String reg(Integer[] intrests,User user) { System.out.println(intrests.length+","+user); return "result"; }
List類型參數綁定
和VO對象參數綁定類似,在頁面中使用 list[i].屬性名 進行綁定;
頁面:
<form action="reg.action" method="post"> <!-- id參數名和vo的id屬性名一致的時候,可以直接綁定到vo對象 --> id:<input type="text" name="id" /><br/> 用戶名:<input type="text" name="userlist[0].username" /><br/> 密碼:<input type="text" name="userlist[1].password" /><br/> <input type="submit" value="註冊" /> </form>
vo類:
public class UserVO { private int id; private List<User> userlist; }
controller層:
@RequestMapping("/reg.action") public String reg(UserVO userVO) { System.out.println(userVO.getUserlist()); return "result"; }
Map類型參數綁定
在頁面中利用鍵值對的方式綁定參數;
頁面:
<form action="reg.action" method="post"> <!-- id參數名和vo的id屬性名一致的時候,可以直接綁定到vo對象 --> id:<input type="text" name="id" /><br/> 用戶名:<input type="text" name="userMap[‘user1‘].username" /><br/> 密碼:<input type="text" name="userMap[‘user1‘].password" /><br/> 用戶名:<input type="text" name="userMap[‘user2‘].username" /><br/> 密碼:<input type="text" name="userMap[‘user2‘].password" /><br/> <input type="submit" value="註冊" /> </form>
vo類:
public class UserVO { private int id; private Map<String,User> userMap; }
controller層:
@RequestMapping("/reg8.action") public String reg8(UserVO userVO) { System.out.println(userVO.getUserMap()); return "result"; }
以上就是參數綁定方法的一些介紹了;
PS:因作者能力有限,如有誤還請諒解;
SSM應用(五)--參數綁定