springMVC自定义类型转换器(date类型转换)

//日期的月份不能写成小写mm,因为在日期中还有分钟mm,这两者不能相同。

1.创建一个类实现Convert接口,实现convert方法

public date convert(String source){

  if(source!=null&&!source.equals(""){

    SimpleDateFormat sdf=getSimpleDateFormat(source);

    return sdf.parse(source);

  }

}

public Date getSimpleDateFormat(String source){

  SimpleDateFormat  sdf=new SimpleDateFormat();

  if(Pattern.matches("^//d{4}-//d{2}-//d{2}$",source){

    sdf.applayPattern("yyyy-MM-dd");

  }else if(Pattern.matches("^//d{4}///d{2}///d{2}$",source){

    sdf.applayPattern("yyyy/MM/dd");

  }else if(Pattern.matches("^//d{4}//d{2}//d{2}$",source){

    sdf.applayPattern("yyyyMMdd");

  }

  return sdf;

}

2.注册类型转换器

<bean id="typeConvert" class="刚才创建的类的路径"/>//由beanFactory去生成这个类

<bean id="convertionServiceBean" class="convertionServiceFactoryBean的全路径名">

 <!-- <property name="convert">

    <set>

      <ref bean="typeConvert"/>

      <ref bean="typeConvert2"/>

    </set>

  </property >-->多个转换类型的写法

</bean>

<property name="convert" ref="typeConvert"/>//这里只有一个可以这样写

处理器映射器去调用convertionServiceBean,当springMVC注解驱动被加载的时候,这个convertionServiceBean给了处理器映射器。所以要添加mvc注解驱动

<mvc:annotation-driven convertion-service="convertionServiceBean"/>

3.当填写错误时,给用户反映报错问题,并需要重新填写。

在自定义的处理器中添加一个注解式处理异常的方法

@ExceptionHandler

public  ModleAndView handlerException(Exception ex){

  ModleAndView  mv=new ModleAndView();
  mv.addObject("ex","ex.getMassage")
  mv.setViewName("xxx.jsp");出现异常后跳转到xxx.jsp
  return mv;
  

}

原文地址:https://www.cnblogs.com/liuna369-4369/p/10019524.html

时间: 2024-10-07 07:06:07

springMVC自定义类型转换器(date类型转换)的相关文章

springmvc 自定义类型转换器

springmvc除了自带的部分类型转换之外,还可以自定义类型转换器,按照以下步骤: 1.写一个类实现Converter接口 package com.hy.springmvc.entities; import org.springframework.core.convert.converter.Converter; import com.google.gson.Gson; public class DepartmentConvertor implements Converter<String,

sruts2 自定义类型转换器

1.1.1    Struts2中自定义类型转换器:(了解) 类型转换的过程是双向的过程: JSP---->Action参数提交:String---Date. Action---->JSP数据回显:Date---String. 自定义类型转换器: * 1.实现TypeConverter * convertValue(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Object target, j

springmvc:自定义类型转换器代码编写

字符串转换日期: 1.自定义一个类 1 /** 2 * 字符串转换日期 3 */ 4 public class StringToDateConverter implements Converter<String, Date> { 5 6 /** 7 * String source 传入进来字符串 8 * @param source 9 * @return 10 */ 11 @Override 12 public Date convert(String source) { 13 //判断 14

[原创]java WEB学习笔记67:Struts2 学习之路-- 类型转换概述, 类型转换错误修改,如何自定义类型转换器

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

Struts2类型转换(二)-自定义类型转换器

一.自定义类型转换器 1). 为什么需要自定义的类型转换器 ? 因为Struts不能自动完成字符串到引用类型的转换. 2). 如何定义类型转换器? I. 开发类型转换器的类: 扩展 StrutsTypeConverter 类: II. 配置类型转换器. 有两种配置方式 ①. 基于字段的配置: > 在字段所在的 Model(可能是 Action,也可能是一个JavaBean) 的包下, 新建一个 ModelClassName-conversion.properties 文件 > 在该文件中输入键

springmvc 类型转换器 自定义类型转换器

自定义类型转换器的步骤: 1.定义类型转换器 2.类型转换器的注册(在springmvc配置文件处理) 来解决多种日期格式的问题:

14.SpringMVC核心技术-类型转换器

类型转换器 在前面的程序中,表单提交的无论是 int 还是 double 类型的请求参数,用于处理该请求 的处理器方法的形参, 均可直接接收到相应类型的相应数据,而非接收到 String 再手工转换. 那是因为在 SpringMVC 框架中,有默认的类型转换器. 这些默认的类型转换器,可以将 String 类型的数据,自动转换为相应类型的数据 但默认类型转换器并不是可以将用户提交的 String,转换为所有用户需要的类型.此时,就需要自定义类型转换器了. 例如,在 SpringMVC 的默认类型

0023SpringMVC自定义类型转换器

页面录入的字符串:2019/12/05可以映射到实体的日期属性上,但是如果是录入2019-12-05就会报错400 bad request,想要以2019-12-05日期格式的方式映射到实体的日期属性上,需要自定义类型转换器,主要步骤如下: 1.  自定义类实现Convertro<S,T>接口 2.Springmvc.xml中配置ConversionServiceFactoryBean,其属性上配置我们自定义的转换器 3.欲使配置的转换器生效,需要将springmvc.xml的<mvc:

Struts2 自定义类型转换器

Struts2自定义类型转换器分为局部类型转换器和全局类型转换器 (1)局部类型转换器 如果页面传来一个参数reg.action?birthday=2010-11-12到后台action,然后属性 用date类型是可以接收到的,但是如果传的是20101112这样类型的字符串,用date类型是获取不到,并且会出现错误的,struts2提供了一 种类型转换器供我们使用. 以下为局部类型转换器的开发步骤a.首先要写一个类来继承DefaultTypeConverterb.然后覆盖convertValue