Spring MVC参数绑定(如何接收请求参数及返回参数)
在Spring MVC拦截器(Interceptor)使用案例实践中遇到了获取jsp表单传递参数失败的问题,怎么的解决的呢?Spring MVC对原生Servlet进行了封装,形成了自有一套获取客户端页面数据的相关技术,使用MVC提供的方式就可以解决。
1、默认⽀持 Servlet API 作为⽅法参数
访问请求及结果:
2、绑定简单类型参数(⼋种基本数据类型及其包装类型)@RequestParam
Spring MVC拦截器(Interceptor)使用案例实践中遇到了获取jsp表单传递参数失败的问题就通过此方式解决了,如下:
3、绑定Pojo类型参数
4、绑定Pojo包装对象参数(@ResponseBody)
该注解的作⽤是将controller的⽅法返回的对象通过适当的转换器转换为指定的格式之后,写⼊到response对象的body区,通常用来返回JSON数据或者XML数据。
注意:在使⽤此注解之后不会再⾛视图处理器,⽽是直接将数据写⼊到输⼊流中,他的效果等同于通过response对象输出指定格式的数据。
案例需求:浏览器输入用户id,返回JSON格式的用户信息
返回JSON数据案例,使用ali的JSON数据转换依赖:
测试结果:
补:什么是Json?Json是⼀种与语⾔⽆关的数据交互格式,就是⼀种字符串,只是⽤特殊符号{}内表示对象、 []内表示数组、 ""内是属性或值、:表示后者是前者的值。
{"name": "Michael"}可以理解为是⼀个包含name为Michael的对象
{"name": "Michael"},{"name": "Jerry"}]就表示包含两个对象的数组
如上案例中表示:id为1,name为张三的user对象。
5、绑定⽇期类型参数(需要配置⾃定义类型转换器在Spring MVC 九大组件及其配置总结中有关于自定义转换器的内容,可参考)
转换接口实现:
转换实现类配置:
除了配置DateConverter,还有配置使其生效的FactoryBean。关于FactoryBean可以参考Spring高级特性之四:FactoryBean和BeanFactory——这里的应用是定制了转换服务。
测试类:
测试结果: