概述
1.什么是数据绑定
SpringMVC里面,所谓的数据绑定就是将请求带过来的表单数据绑定到执行方法的参数变量.
方式一.方法形参和前台参数同名
解决方案:在请求方法形参上,声明和表单字段名相同的参数名(可以自动同名匹配,然后进行封装)
<fieldset>
<legend>方法形参与前台参数同名</legend>
<form action="${pageContext.request.contextPath}/request/method2" method="post">
账号: <input name="username"><br>
年龄: <input name="age"><br>
<button type="submit">提交</button>
</form>
</fieldset>
//方法名和参数相同
@RequestMapping(value = "/method2")
public String method2(String username,String age){
System.out.println(username);
System.out.println(age);
return "/login.jsp";
}
方式二.方法形参和前台参数不同名
解决方案:使用 @RequestParam(“前台表单对应的名”)
<fieldset>
<legend>方法形参与前台参数不同名</legend>
<form action="${pageContext.request.contextPath}/request/method3" method="post">
账号: <input name="name"><br>
年龄: <input name="age"><br>
<button type="submit">提交</button>
</form>
</fieldset>
//解决方案使用 : @RequestParam("前台表单对应的名")
@RequestMapping(value = "/method3")
public String method3(@RequestParam("name") String username, String age){
System.out.println(username);
System.out.println(age);
return "/login.jsp";
}
方式三.接收数组,如爱好
解决方案:直接在方法参数上声明数组
<fieldset>
<legend>接收数组或集合</legend>
<form action="${pageContext.request.contextPath}/request/method4" method="post">
账号: <input name="name"><br>
年龄: <input name="age"><br>
爱好: <input type="checkbox" name="hobbys" value="java">java
<input type="checkbox" name="hobbys" value="html">html<br>
<button type="submit">提交</button>
</form>
</fieldset>
@RequestMapping(value = "/method4")
public String method4(String[] hobbys,@RequestParam("name") String username, String age){
System.out.println(Arrays.toString(hobbys));
System.out.println(username);
System.out.println(age);
return "/login.jsp";
}
方式四.对象传参
解决方案:后台并不能直接接受集合参数,需要将集合设置到对应的JavaBean中,通过JavaBean接受集合参数
<fieldset>
<legend>接受对象,表单参数名必须和后台pojo对象对应的属性名相同</legend>
<form action="${pageContext.request.contextPath}/request/method5" method="get">
账号: <input name="username"><br>
密码: <input type="password" name="password"><br>
邮箱: <input name="email"><br>
电话: <input name="phone"><br>
爱好:<input type="checkbox" name="hobby" value="java">java
<input type="checkbox" name="hobby" value="C">C
<input type="checkbox" name="hobby" value="C++">C++<br/>
<button type="submit">提交</button>
</form>
</fieldset>
@RequestMapping(value = "/method5")
public String method5(User user){
System.out.println(user);
return "/login.jsp";
}
方式五.接受参数封装成Map集合
解决方案:在方法参数前加上@RequestParam,并传入map
注意:一定记得加上参数@RequestParam
<fieldset>
<legend>接受参数封装成Map集合</legend>
<form action="${pageContext.request.contextPath}/request/method6" method="post">
账号: <input name="username"><br>
密码: <input name="password"><br>
邮箱: <input name="email"><br>
电话: <input name="phone"><br>
<button type="submit">提交</button>
</form>
</fieldset>
@RequestMapping(value = "/method6")
public String method6(@RequestParam Map<String,Object> map){
for (String s : map.keySet()) {
System.out.println(s+"="+map.get(s));
}
return "/login.jsp";
}
最后
以上就是深情鱼为你收集整理的SpringMVC---数据绑定的全部内容,希望文章能够帮你解决SpringMVC---数据绑定所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复