spring 时间装配器 前后台date类型传值 date多重数据转换
来源:互联网 发布:外贸出口数据从何而来 编辑:程序博客网 时间:2024/05/17 04:41
亲测有效
1创建日期格式话工具DateEditor
import java.beans.PropertyEditorSupport;
import java.text.ParseException;
import java.util.Date;
/**
* 日期格式话工具
* SPRINGMVC日期字符换转换Date
* @author ALLEN
*/
publicclassDateEditorextends PropertyEditorSupport {
@Override
publicvoidsetAsText(Stringtext)throwsIllegalArgumentException {
Date date = null;
try {
date=DateUtil.parseDate(text);
} catch (ParseExceptione) {
e.printStackTrace();
}
setValue(date);
}
}
2创建日期装配器
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
/**
* 日期装配器
* @authorlxy
* @date 2017年3月23日下午2:15:43
*/
publicclassDateBinderUtil {
/**
* 初始化日期格式
*
* @param request
* @param binder
* @throws Exception
*/
@InitBinder
protectedvoidinitBinder(HttpServletRequestrequest, ServletRequestDataBinderbinder) throwsException {
binder.registerCustomEditor(Date.class,new DateEditor());
}
}
3配置
<beanclass="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<propertyname="messageConverters">
<list>
<refbean="stringHttpMessageConverter"/>
</list>
</property>
</bean>
<beanid="stringHttpMessageConverter"class="org.springframework.http.converter.StringHttpMessageConverter">
<propertyname="supportedMediaTypes">
<list>
<value>text/html;charset=utf-8</value>
</list>
</property>
</bean>
4附录DateUtil
// 从字符串中分析日期
publicstatic DateparseDate(String dateStr)throws ParseException {
Datedate=null;
String[]dateArray=dateStr.split("\\D+");// +防止多个非数字字符在一起时导致解析错误
intdateLen =dateArray.length;
intdateStrLen =dateStr.length();
if (dateLen > 0) {
if (dateLen == 1 &&dateStrLen > 4) {
if (dateStrLen =="yyyyMMddHHmmss".length()){
//如果字符串长度为14位并且不包含其他非数字字符,则按照(yyyyMMddHHmmss)格式解析
date =parseDate(dateStr,"yyyyMMddHHmmss");
}elseif(dateStrLen=="yyyyMMddHHmm".length()) {
date =parseDate(dateStr,"yyyyMMddHHmm");
}elseif(dateStrLen=="yyyyMMddHH".length()) {
date =parseDate(dateStr,"yyyyMMddHH");
}elseif(dateStrLen=="yyyyMMdd".length()) {
date =parseDate(dateStr,"yyyyMMdd");
}elseif(dateStrLen=="yyyyMM".length()){
date =parseDate(dateStr,"yyyyMM");
}
}else{
StringfDateStr=dateArray[0];
for (inti = 1; i < dateLen; i++) {
//左补齐是防止十位数省略的情况
fDateStr +=leftPad(dateArray[i],"0", 2);
}
if (dateStr.trim().matches("^\\d{1,2}:\\d{1,2}(:\\d{1,2})?$")) {
//补充年月日3个字段
dateLen += 3;
fDateStr =formatDate(new Date(),"yyyyMMdd")+ fDateStr;
}
date =parseDate(fDateStr,"yyyyMMddHHmmss".substring(0,(dateLen- 1) * 2 + 4));
}
}
returndate;
}
- spring 时间装配器 前后台date类型传值 date多重数据转换
- 前后台Date类型相互转换
- 前后台Date类型数据处理
- Date型数据比较时间前后
- SpringMVC中前后台Date与String相互转换
- spring mvc 接受Date类型数据,使用转换
- 前后台时间类型数据的处理
- java 时间date String类型转换
- javascript时间戳转换为date类型
- 将时间戳转换为Date类型
- js时间戳转换成date类型
- String类型的Date数据转换为Date
- sql中的date数据到java中的date类型转换
- 让spring mvc controller转换date类型
- 时间串变成Date类型的数据
- struts2 类型转换器 Date型数据转换
- struts2 类型转换器 Date型数据转换
- Json数据中时间Date转换
- 复选框被选中但勾没出来
- CNN感性认识(一)——BP神经网络
- 由网络地址和子网掩码求子网
- Java XStream把Java对象转换为xml
- oj Problem C: 查找【数组】
- spring 时间装配器 前后台date类型传值 date多重数据转换
- Qt实现天气预报与PM2.5监测系统(6)系统界面设计
- C++学习笔记之网络编程2
- PHP的学习--Traits新特性
- LeetCode Median of Two Sorted Arrays 在两个已排列的数组中找出中位数。时间复杂度为O(log(min(N,M))
- java.util.concurrent中:同步屏障CyclicBarrier
- Web返回结果和HTTP状态码详解
- audio系统介绍之 ---Machine driver
- 自定义view-仿虎扑直播比赛界面的打赏按钮