SpringMVC中四种⽇期格式的转换⾸先写⼀个表单:
<form action="zy/add" method="post">
添加⽤户
姓名:<input name="name"/><br/>
年龄:<input name="age"/><br/>
性别:<input name="sex"/><br/>
地址:<input name="address"/><br/>
⽣⽇:<input name="birthday"/><br/>
<input type="submit"/>
</form>
在l中需要如下配置:
<!-- 扫⾯controller包 -->
<context:component-scan base-package="ller"></context:component-scan>
<!-- 配置⽇期转换器 -->
<bean id="formattingConversion" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">    <property name="converters">
<list>
<!-- 配置⾃⼰的转换器 -->
<bean class="verter.MyDateConverter"></bean>
</list>
</property>
</bean>
<!-- 引⽤上⽂的转换器 -->
<mvc:annotation-driven conversion-service="formattingConversion"></mvc:annotation-driven>
在l中需要如下的配置:
<!-- 配置前端控制器 -->
<servlet>
<servlet-name>aaa</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 加载配置⽂件 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>l</param-value><!-- 配置⽂件的位置 -->
</init-param>
<load-on-startup>1</load-on-startup><!-- 加载时间,数字越⼩,加载越早 -->
</servlet>
<servlet-mapping>
<servlet-name>aaa</servlet-name>
<url-pattern>*.action</url-pattern><!-- 拦截规则 --><!-- 后缀拦截拦截以action结尾的请求 -->  </servlet-mapping>
<!-- /  /*,  /*范围更⼴,包含jsp的拦截  -->
<filter>
<filter-name>bbb</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>bbb</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
在controller中写如下⽅法:
@RequestMapping("/add")
public ModelAndView add(User uu) {
/string转date的方法
/该对象会⾃动接收表单中与属性名匹配的值对象接收参数
System.out.println(uu);
return null;
}
⽇期转换类:
verter;
ParseException;
SimpleDateFormat;
import java.util.Date;
import verter.Converter;
//从字符串转⽇期
public class MyDateConverter implements Converter<String, Date>{
@Override
public Date convert(String value) {  //参数就是传⼊的字符串⽇期
// 1999年6⽉6⽇创建相对应的⽇期格式化对象
SimpleDateFormat simpleDateFormat = null;
/*String str = value.substring(4, 5);
switch (str) {
case "年":
simpleDateFormat = new SimpleDateFormat("yyyy年mm⽉dd⽇");  break;
case ".":
simpleDateFormat = new SimpleDateFormat("dd");
break;
case "-":
simpleDateFormat = new SimpleDateFormat("yyyy-mm-dd");
break;
default:
simpleDateFormat = new SimpleDateFormat("yyyy/mm/dd");
break;
}*/
if (ains("年")) {
simpleDateFormat = new SimpleDateFormat("yyyy年mm⽉dd⽇");  }
else if (ains(".")) {
simpleDateFormat = new SimpleDateFormat("dd");
}
else if (ains("-")) {
simpleDateFormat = new SimpleDateFormat("yyyy-mm-dd");
}
else if (ains("/")) {
simpleDateFormat = new SimpleDateFormat("yyyy/mm/dd");
}
//解析
try {
//把字符串解析成⼀个⽇期对象
Date parse = simpleDateFormat.parse(value);
//返回结果
return parse;
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。