组件的使用
控制器、拦截器、验证器、视图解析器、处理器
简单的参数传递,而现实的情况要比实例复杂得多。比如现在流行的 RESTf风格,它往往会将参数写入到请求路径中,而不是以HTTP请求参数传递,也有些应用需要传递的是JSON,比如查询用户的时候,需要分页,可能用户信息比较多,那么查询参数可能多达10多个,为了易于控制,往往将客户查询参数组装成另一个JSON数据集,而把分页参数作为普通参数传递,进而把数据传递给后台。传递多个对象,比如新增多个角色对象等,为了应付多种传递参数的方式,先探索 Spring Mvc的传参方法
@RequestParam
重定向
@RequestAttribute @SessionAttribute @SessionAttributes
@CookieValue @RequestHeader
拦截器
@EnableWebMvc
@HandlerInterceptorAdapter
表单的验证
@Valid 标明
验证器
@InitBinder绑定控制器
通过实现Validator接口
数据模型
视图与视图解析器
视图是展示给用户的内容,而在此之前,要通过控制器得到对应的数据模型,如果是非逻辑视图,则不会经过视图解析器定位视图,而是直接将数据模型渲染便结束了;而逻辑视图则要对其进一步解析,以定位真实视图,这就是视图解析器的作用了。而视图则是把从控制器查询回来的数据模型进行渲染,以显示给请求者查看。
Spring MVC 中的视图渲染主要是 JSTL视图和JSON视图,有时候需要导出Excel功能
AbstractXlsView是一个抽象类,自己定义了一个抽象方法——buildExcelDocument要去实现,其他的方法Spring的AbstractXlsView已经实现了,
上传文件
@Bean,在Spring中既可以通过XML,也可以通过java去配置MultipartResolver
数据转化与格式化
处理器(转化器和格式化器)
格式化器(Formatter)
@DateTimeFormat @NumberFormat