一、传递值
1、第1种:name="名称" 必须和 方法的参数名一致
<h5>第1种:name="名称" 必须和 方法的参数名一致</h5>
<form action="my/m1.do" method="post">
<input type="text" id="t1" name="uname">
<br>
<input type="submit" value="提交">
</form>
@RequestMapping(value = "/my/m1", method = RequestMethod.POST)
public String m1(String uname) {
System.out.println("参数值" + uname);
return "a";
}
2、第2种: 若name="名称" 和参数名不一致,则使用@RequestParam("name的名称")
<h5>第2种: 若name="名称" 和参数名不一致,
则使用@RequestParam("name的名称")</h5>
<form action="my/m2.do" method="post">
<input type="text" name="uu">
<br>
<input type="submit" value="提交">
</form>
@RequestMapping(value = "/my/m2", method = RequestMethod.POST)
public String m2(@RequestParam("uu") String uname) {
System.out.println("参数值" + uname);
return "a";
}
3、第3种:name="名称" 必须和 实体类的属性名一致
<h5>第3种:name="名称" 必须和 实体类的属性名一致</h5>
<form action="my/m3.do" method="post">
<input type="text" name="uid"><br>
<input type="text" name="uname"><br>
<input type="text" name="upwd"><br>
<input type="submit" value="提交">
</form>
@RequestMapping(value = "/my/m3", method = RequestMethod.POST)
public String m3(User user) {
System.out.println("参数值" + user);
return "a";
}
4、第4种:使用url传递参数值页面 delete/值.do
<h5>第4种:使用url传递参数值页面 delete/值.do</h5>
<a href="my/m4/1.do">请求MyController中的m4方法</a>
@RequestMapping( value = "/my/m4/{id}", method = RequestMethod.GET)
public String m4(@PathVariable("id") int uid) {
System.out.println("参数值" + uid);
return "a";
}
5、第5种: 使用json,页面传递json格式的数据给Controller @RequestBody
var jsonObj = {uid: "1", uname: "页面的用户名", upwd: "页面的密码"};
var jsonStr = JSON.stringify(jsonObj);
ajax请求,url: "my/m5.do"
@RequestMapping(value = "/my/m5", method = RequestMethod.POST)
@ResponseBody
public User m5(@RequestBody User user) {
System.out.println("接收到页面传递的json格式的值:" + user);
return new User("2", "控制器中的用户名", "控制器中的密码");
}
6、第6种:传递List,泛型Integer
var idList = new Array();//存放整数的数组
url: "my/m6.do",
data: JSON.stringify(idList)
@RequestMapping(value = "/my/m6", method = RequestMethod.POST)
@ResponseBody
public Boolean m6(@RequestBody List<Integer> idList) {
System.out.println("接收到页面传递的json格式的值:" + idList);
return true;
}
7、第7种:表单序列化,使用ajax方式提交表单
<h5> 第7种:表单序列化,使用ajax方式提交表单</h5>
<form id="userForm">
<input type="text"
id="uname" name="uname"
placeholder="姓名"/> <br/>
<input type="text"
id="upwd" name="upwd"
placeholder="密码"/>
<br/>
<button type="button" id="submitBtn">提交</button>
</form>
<script>
$(function () {
$('#submitBtn').click(function () {
//1.获取表单中的值
var info = $('#userForm').serialize();
//2.发送ajax请求
$.ajax({
type: "POST",
url: "my/m7.do",
data: info,
dataType: 'json',
success: function (res) {
console.info(res);
}
});
});
});
</script>
@RequestMapping(value = "/my/m7", method = RequestMethod.POST)
@ResponseBody
public Boolean m7(@RequestBody User user) {
System.out.println("获取表单的数据:" + user);
return true;
}