* 使用map接收form表单
- controller使用@RequestParam 注解map
* 使用map接收json参数
- ajax请求时使用JSON.stringify(searchData)把json对象转为json字符串
- controller使用@RequestBody 注解map,接收的是一个json字符串
var data = {
text:'11111',
name:'2222222',
age:33333333333333
};
var url = '${request.contextPath}/newSample/saveTest';
$.ajax({
type:"POST",
url:url,
dataType:"json",
contentType:"application/json",
data:JSON.stringify(data),
success:function(data){
alert(data);
}
});
* 使用多个值接收参数
@RequestMapping(value = "/list")
public String listPage(@RequestParam(required=false) String page, @RequestParam(required=false) String size,Model model)
- 可以直接接收get请求url后直接带参数
- 可以接收form表单数据
- 可以接收ajax提交的js对象(必须设置发送数据到服务器时所使用的内容类型。默认是:"application/x-www-form-urlencoded"。contentType:" application/x-www-form-urlencoded; charset=utf-8", 使用表单的请求头key-value形式)
* 使用vo接收json数据
1、在使用AJAX传递JSON数据的时候要将contentType的类型设置为“application/json”,否则的话会提示415错误
2、传递的data需要时JSON类型的字符串而不是对象
3、controller在接收数据时需要在参数前加上@RequestBody注解,否则会报400错误
4、JSON对象的属性必须和实体类属性保持一致,不可以存在实体类中没有的属性,否则的话会提示400错误
*使用vo接收form表单
使用bean来接收form表单提交的参数时,pojo中必须含有默认的(即空的)构造函数,同时,需要设置到bean中的变量必须有setter方法。
并且bean不能使用@requestParam注解
* 转发与重定向
可以通过redirect/forward:url方式转到另一个Action进行连续的处理。
可以通过redirect:url 防止表单重复提交 。
写法如下:
return "forward:/order/add";
return "redirect:/index.jsp";