Spring MVC(三) 数据转换、格式化、校验

数据转换、格式化、校验

数据绑定机理

数据类型转换

低版本的Spring 只支持标准的PropertyEditor类型体系,不过PropertyEditor存在以下缺陷:
  只能用于字符串和Java对象的转换,不适用于任意两个Java类型之间的转换;
  对源对象及目标对象所在的上下文信息(如注解、所在宿主类的结构等)不敏感,在类型转换时不能利用这些上下文信息实施高级转换逻辑。
有鉴于此,Spring 3.0在核心模型中添加了一个通用的类型转换模块,ConversionService是Spring类型转换体系的核心接口。
Spring 3.0同时支持PropertyEditor和ConversionService 进行类型转换,在Bean配置、Spring MVC处理方法入参绑定中使用类型转换体系进行工作。

对于简单的类型转换,依然建议使用PropertyEditor。按照PropertyEditor的协议,会自动查找Bean类相同类包是否存在<BeanName>Editor.class,如果存在会使用它作为Bean的编辑器。

<bean id="expireManager"
      class="com.book.core.cache.expire.SimpleCacheLogicExpireManager">
  <property name="cacheSpaceList">
    <list>
    <value>comBookSpace:com/comBook/**</value>
    <value>bookSpace:com/book/**:100</value>
    <value>companySpace:com/company/**</value>
    </list>
  </property>
</bean>

时间: 2024-10-10 05:23:36

Spring MVC(三) 数据转换、格式化、校验的相关文章

Spring mvc数据转换 格式化 校验(转载)

原文地址:http://www.cnblogs.com/linyueshan/p/5908490.html 数据绑定流程 1. Spring MVC 主框架将 ServletRequest 对象及目标方法的入参实例传递给 WebDataBinderFactory 实例,以创建 DataBinder 实例对象2. DataBinder 调用装配在 Spring MVC 上下文中的 ConversionService 组件进行数据类型转换.数据格式化工作.将 Servlet 中的请求信息填充到入参对

Spring MVC(三)--控制器接受普通请求参数

Spring MVC中控制器接受参数的类方式有以下几种: 普通参数:只要保证前端参数名称和传入控制器的参数名称一致即可,适合参数较少的情况: pojo类型:如果前端传的是一个pojo对象,只要保证参数名称和pojo属性一致即可: 注解方式:当前端参数名和控制器名称不一致时可以使用注解方式,比如前端是param_id,而控制器中是paramId的情况: URL方式:当前端以restful格式传递参数时,后台使用这种方式接受: JSON方式:前后端如果用json方式交互时,可以使用这种方式,这是常用

spring mvc自动日期格式化绑定

在springmvc中,我们会经常用到它的自动绑定参数,绑定日期时时常会报400的错误→Bad Request( 请求出错,由于语法格式有误,服务器无法理解此请求.不作修改,客户程序就无法重复此请求). 废话不多说,直接上代码, 解决方法有很多: 第一种:需要将DateFormatter注册到一个ConversionService中,最后再将ConversionService注册到Spring MVC中: <bean id="conversionService" class=&q

玩转Spring MVC(三)----spring基本配置文件

这篇文章总结一下spring mvc的基本配置,首先贴一张我的项目的目录截图,有一些多余的文件,大家不必在意: 用到的一些jar包在这:<a>http://download.csdn.net/detail/u012116457/8426199</a> 接下来是web.xml的配置: <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0"

Spring MVC 学习笔记(二)

6. 视图和视图解析器  ?  Spring MVC如何解析视图 ? 请求处理方法执行完成后,最终返回一个ModelAndView对象.对于那些返回String,View或ModeMap等类型的处理方法,spring MVC 都会在内部将它们装配成一个ModelAndView对象,它包含了逻辑名和模型对象的视图 ? Spring MVC 借助视图解析器(ViewResolver)得到最终的视图对象(View),最终的视图可以是JSP也可是Excell. JFreeChart等各种表现形式的视图

Spring MVC(3)Spring MVC 高级应用

一.Spring MVC 的数据转换和格式化 前面的应用,都只是用HandlerAdapter去执行处理器. 处理器和控制器不是一个概念,处理器是在控制器功能的基础上加上了一层包装,有了这层包装,在HTTP请求达到控制器之前它就能够对HTTP的各类消息进行处理. 首先当一个请求到达 DispatcherServlet 的时候,需要找到对应的HandlerMapping,然后根据 HandlerMapping 去找到对应的 HandlerAdapter 执行处理器.处理器在要调用的控制器之前,需要

关于Spring MVC的问题

一.SpringMVC的流程是什么? 1. 用户发送请求至前端控制器DispatcherServlet: 2. DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle: 3. 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有)一并返回给DispatcherServlet: 4. DispatcherServlet 调用 HandlerAdapter处理器适配器: 5. HandlerAdapter 经过适配

spring MVC拦截器01

spring MVC拦截 作用:身份校验,权限检查,防止非法訪问. 场景:一个bbs系统,用户没有登录就无法发帖或者删除评论; 一个博客系统,没有登录就无法发表博文,无法添加分类,无法删除博文. spring MVC 拦截实现分为2步 (1)编写拦截器类,必须继承org.springframework.web.servlet.HandlerInterceptor 核心方法: public boolean preHandle(HttpServletRequest request, HttpServ

Maven+Hibernate+Spring+Spring MVC开发新闻发布系统

使用Maven+Hibernate+Spring+Spring MVC开发新闻发布系统 课程学习地址:http://www.xuetuwuyou.com/course/163 课程出自学途无忧网:http://www.xuetuwuyou.com 课程介绍 一.课程用到的软件: 1.jdk 1.8 2.eclipse neon 3.tomcat 8 4.jetty 5.MySQL  6.navicat 9+ 二.课程涉及到的技术点 1.Maven基础 2.Maven高级 3.Hibernate