SSM框架整合——参数绑定、包装类、编码过滤器、日期转换器、异常处理器
参数绑定
@RequestParam(“id”) :绑定请求映射的参数,如果方法中的参数名和请求参数名一致,则不需要绑定
集合参数
定义参数包装类中的集合属性
在JSP页面中设置集合参数,参数名要和对应参数包装类属性名一致
集合属性被自动封装在包装类中
包装类
修改商品
使用post请求,将请求参数封装在一个item类中
后端处理
按照条件查询
如果实现按照条件查询,需要将所需要的条件封装在一个对象中。多表查询也是这样。
请求参数中的参数名与类中的属性名保持一致。
包装类
Mapper中的写法
Model是一个接口
如果使用Model,就不用使用ModelAndView对象
编码过滤器
在web.xml中配置编码过滤器
日期转换器
创建日期转换器类,实现Converter<String, Date>接口,接收String,返回Date,转换从前端传往后端数据库的日期。
在springmvc.xml中配置转换器工厂类
<!--配置转换器工厂类-->
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<set>
<!--指定转换器类-->
<bean class="com.converter.MyDateConverter"></bean>
</set>
</property>
</bean>
在注解驱动中,引用转换服务(conversion-service)
<!--MVC注解映射器和适配器 开启注解驱动-->
<!--conversion-service:指定转换器服务工厂-->
<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
日期转换器会自动识别Date,将传来的String转换成Date
jstl标签库对日期格式化
格式化从后端到前端的日期
先引入jstl标签库
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
将响应的日期格式化
<fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${item.createtime}"/>
异常处理器:处理预期异常
1、创建自定义异常类,继承Exception
2、在预期处理异常的地方,抛出异常
3、创建异常处理器
创建异常处理器,实现HandlerExceptionResolver接口
4、在Spring中配置异常处理器
因为是Controller层抛出异常,所以在springmvc.xml中配置
结果: