博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC(四):接收参数的方式
阅读量:4104 次
发布时间:2019-05-25

本文共 3831 字,大约阅读时间需要 12 分钟。

一.SpringMVC参数接收思维导图

 

二.接收参数实例

1.普通方式接受参数

1.1.控制端代码

@Controller@RequestMapping("requestParam")public class RequestParamsController {    @RequestMapping("requestParam")    public ModelAndView requestParams( String user_id){        System.out.println("user_id:"+userId);        ModelAndView mv = new ModelAndView();        mv.setViewName("/springMVC/paramRequest/RequestParams");        return mv;    }}

1.2.前端jsp代码

1.3.提交之后便会看到结果输出,两端参数名字相同才能接收,view端name为h5中input的name属性。

2.RequestParam接收参数

2.1.控制端代码

@Controller@RequestMapping("requestParam")public class RequestParamsController {    @RequestMapping("requestParam")    public ModelAndView requestParams(@RequestParam(value = "user_id",required = false) String userId){        System.out.println("user_id:"+userId);        ModelAndView mv = new ModelAndView();        mv.setViewName("/springMVC/paramRequest/RequestParams");        return mv;    }}

2.2.前端jsp代码

2.3.view端name为h5中input的name属性,@RequestParam默认参数不为空,否则会出现400异常,需要为空,则设置:@RequestParam(value = "user_id",required = false)

3.使用URL传递参数

3.1.控制端代码

@Controller@RequestMapping("urlParam")public class UrlParamsController {    @RequestMapping("/urlParam/{id}")    public ModelAndView urlParams(@PathVariable("id") int id){        User user = new User();        user.setUserId(String.valueOf(id));        ModelAndView mv = new ModelAndView();        mv.addObject(user);        mv.setView(new MappingJackson2JsonView());        return mv;    }}

3.2.前端没有代码,直接使用new MappingJackson2JsonView()显示数据,注意其只能返回显示对象类型数据,该方法在org.springframework.web.servlet.view.json.MappingJackson2JsonView包下;@PathVariable表示从URL请求地址中获取的参数,允许为空。

4.传递JSON数据

4.1.前端代码,引入JQ.

1.contentType:发送什么类型的数据到服务器,dataType:服务器返回的是什么类型的数据。

2.可能会出现的错误:

2.1.400错误:前端传递过来的属性和后端不一致.

2.2.414错误:

2.2.1.前端JSON属性必须和传递的pojo的属性对应,顺序无所谓,属性名字一直就行.

2.2.2.前端ajax里的关键字区分大小写(重点),否则也会出现404错误.

2.2.3.需要添加相关的JSONjar.

4.2.后端代码

@RequestMapping("jsonParam")    public ModelAndView jsonParam(@RequestBody User user) {        System.out.println(user.toString());        ModelAndView mv = new ModelAndView();        //mv.addObject(json);        mv.setView(new MappingJackson2JsonView());        return mv;    }

4.3.pojo的属性

public class User {    private String userId;    private String userNickName;    private String userPassword;    }

4.4.springMVC的配置

4.5.JSON的maven依赖,spring版本是4.0

com.fasterxml.jackson.core
jackson-core
2.2.3
com.fasterxml.jackson.core
jackson-databind
2.2.3
com.fasterxml.jackson.core
jackson-annotations
2.2.3
com.alibaba
fastjson
1.2.7
org.json
json
20150729
org.codehaus.jackson
jackson-mapper-asl
1.9.13

5.接收列表和表单数据

5.1.前端代码

将表单数据转化为字符串传递给后端

$("#submit").click(function () {                var str = $("form").serialize();                $.ajax({                    url: "<%=path%>/listParam/formParam/",                    type: "POST",                    data: str,                });            });

5.2.后端代码

@RequestMapping("formParam")    public ModelAndView formParams(String userId,String userPassword){        System.out.println(userId+" "+userPassword);        ModelAndView mv = new ModelAndView();        return mv;    }

前后端传递的标识符保持一致

你可能感兴趣的文章
浅谈HTML
查看>>
css基础
查看>>
HTML&CSS进阶
查看>>
Servlet进阶和JSP基础
查看>>
servlet&jsp 的使用以及jsp的历史遗留用法
查看>>
servlet中的cookie和session
查看>>
过滤器及JSP九大隐式对象
查看>>
软件(项目)的分层
查看>>
菜单树
查看>>
MySQL-分布式架构-MyCAT
查看>>
设计模式六大原则(6):开闭原则
查看>>
阿里面试总结--JAVA
查看>>
Servlet的生命周期
查看>>
JAVA八大经典书籍,你看过几本?
查看>>
《读书笔记》—–书单推荐
查看>>
【设计模式】—-(2)工厂方法模式(创建型)
查看>>
有return的情况下try catch finally的执行顺序(最有说服力的总结)
查看>>
String s1 = new String("abc"); String s2 = ("abc");
查看>>
JAVA数据类型
查看>>
Xshell 4 入门
查看>>