一、通过将参数放在地址栏传递(也就是result风格)
请求传递的参数放置在地址栏中
<form action="handler/delete/456" method="post">
<input type="hidden" name="_method" value="DELETE"><%--设置隐藏域,用于实现DELETE方式提交--%>
<input type="submit" value="修改">
</form>
后端控制台接收参数
@RequestMapping(value = "delete/{id}",method = RequestMethod.DELETE)
public String delete(@PathVariable("id") Integer id){
System.out.println("delete:删除"+id);
return "success";
}
二、普通方式传递参数
前端传递值
<form action="handler/welcome2" method="post">
name:<input name="uname">
age:<input name="age">
<input type="submit" value="post">
</form>
后端控制台接收参数
@RequestMapping(value = "welcome2")
public String welcome3(@RequestParam("uname") String uname,@RequestParam(value = "age",required = true,defaultValue = "22") int age){
System.out.println("用户名:"+uname+"年龄:"+age);
return "success";
}
@RequestParam("uname"):接收前台传递的值,等价于 servlet里面的request.getParameter("uname");
@RequestParam的一些参数:
value = “age”:如果没有其他属性,默认就是“age”
require = true/false: 表示这个值不是前端必须有的
defaultValue:设置一个默认值
三、传递参数为对象类型
前端的表单:
<div>测试传递类型为对象类型,springmvc自动匹配</div>
<form action="handler/testpropertes" method="post">
id:<input type="text" name="id">
name:<input name="name">
age:<input name="age">
<input type="submit" value="post">
</form>
后端控制台接收参数并处理:
//测试传递的参数为对象类型,springmvc自动匹配,条件是前端的表单name必须要和对象的属性名一致
@RequestMapping(value = "testpropertes")
public String testpropertes(Student student){//将参数类型直接放在参数列表即可
System.out.println(student);
return "success";
}
注意:自动匹配的条件是前端表单name必须要和对象类型的属性名一致(并且支持级联属性)