springMVC接收参数

* 使用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";

* 返回视图

你可能感兴趣的:(springMVC接收参数)