内容正文:
第12章Spring MVC的参数绑定
·Spring MVC数据绑定
。
简单数据绑定
。
复杂数据
12.1-Spring MVC数据绑定
初心至善匠心育人:
12.1 Spring MVC数据绑定
·在SpringMVC中,提交请求的数据是通过方法形参来接收的。从客户端请求的
key/value数据,经过参数绑定,将key/value数据绑定到Controller的形参上
然后在Controller就可以直接使用该形参。SpringMVC内置了很多参数转换器,
只有在极少数情况下需要自定义参数转换器。
12.2简单数据绑定
12.2.1
绑定默认数据类型
12.2.2
绑定简单数据类型
目录
12.2.3
绑定POO类型
Contents
12.2.4
绑定包装POJO
12.2.5
自定义数据绑定
初心至善匠心育人
12.2简单数据绑定
12.2.1绑定默认数据类型
·SpringMVC有支持的默认参数类型,
直接在形参上给出这些默认类型的声明,就
能直接使用。支持的默认参数如下:
·1)HttpServletRequest>对象
·.HttpServletRequest>对象代表客户端的请求,当客户端通过HTTP协议访问服务器
时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法
可以获得客户端请求的所有信息。
·2)HttpServletResponse对象
·HttpServletResponse对象是服务器的响应。这个对象中封装了向客户端发送数
据、发送响应头和发送响应状态码的方法。
12.2简单数据绑定
12.2.1绑定默认数据类型
·3)HttpSession对象
·HttpSession是当一个用户第一次访问某个网站通过HttpServletRequestr中调用
getSession方法创建的,可以用来记录用户信息。
·4)Model/ModelMap对象
·ModelMapi对象主要用来传递控制器方法中的数据信息到结果页面,该对象的用
法类似request>对象的setAttribute?方法,而Model/,ModelMap则是通过
addAttribute?方法向页面传递参数的。
在控制方法的形参上直接声明HttpServletRequest类型,实现数据的绑定。控制
器中具体实现代码如书中例12-1所示。
12.2简单数据绑定
12.2.1绑定默认数据类型
·通过SP页面的form表单输入文本内容,在浏览器中完成数据赋值,发送post请
求,跳转至例12-1中的代码块,完成数据绑定。具体JSP页面代码如书中例12-2
所示。
·在控制方法的形参上直接声明HttpSession、Model类型,实现数据的绑定。控制
器中具体实现代码如书中例12-3所示。
通过浏览器访问page02jsp页面,点击页面中的超链接,程序跳转至例12-3中的
代码块,完成数据绑定,具体JSP页面代码如书中例12-4所示。
·通过EL表达式获取例12-3中绑定的值实现在浏览器中打印,具体JSP页面代码如例
12-5所示。
12.2简单数据绑定
12.2.2绑定简单数据类型
·Java的数据类型分为两种,基本类型和引用类型,而SpringMVC是支持基本类型
自动转换的。
·简单数据类型的绑定在控制器中具体实现的代码如书中例12-6所示。
。
实现简单数据类型的绑定。可以通过SP页面的form表单对属性动态赋值进行验证,
具体页面代码如书中例12-7所示。
12.2简单数据绑定
12.2.3绑定P00类型
·SpringMVC的控制器支持自定义类POJO(Plain Ordinary Java Object)的自动转
换,使用时POO类中的属性名称就是请求参数的名称,如果名称不一致可以使用
注解@RequestParam注解标注。
·自定义简单对象Student!具体代码,如书中例12-8所示。
·对于POO类型的数据绑定,在控制器中具体实现代码如书中例12-9所示。
·通过SP页面的form表单对Student对象的属性赋值,具体代码如书中例12-10所
示。
12.2简单数据绑定
12.2.4绑定包装POJO
·包装类型如nteger、Long、Byte、Double、Float、Short,对应八种基本类型,
SpringMVC控制器支持基本类型自动转换,也支持对应的包装类的自动转换。
·对于包装类型的数据绑定,控制器中具体实现代码如书中例12-11所示。
·通过JSP页面的form表单对包装类型赋值,具体代码如书中例12-12所示。
·需要注意的是参数对应的类型,在传递参数时需要为对应的类型传递对应的值,
比如为Integer时,只能为整型,当传递的值为数字时不可以是浮点型或者是非数
字类型,