分享知识-快乐自己:Struts2 前台日期到后台的日期格式转换

时间:2024-09-08 18:34:50

案例目录:

分享知识-快乐自己:Struts2 前台日期到后台的日期格式转换

关键代码展示:

DateConverter:

package com.mlq.util;

import com.opensymphony.xwork2.conversion.TypeConversionException;
import org.apache.struts2.util.StrutsTypeConverter; import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map; /**
* @author asus
*/
public class DateConverter extends StrutsTypeConverter { public static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd"; private static final DateFormat[] dateFormats = {
new SimpleDateFormat("yyyy年MM月dd日"),
new SimpleDateFormat(DEFAULT_DATE_FORMAT),
new SimpleDateFormat("MM/dd/yy"),
new SimpleDateFormat("yyyy/MM/dd"),
new SimpleDateFormat("yyyy.MM.dd"),
new SimpleDateFormat("yyyyMMdd")}; @Override
public Object convertFromString(Map map, String[] strings, Class aClass) {
System.out.println("================DateConverter============1=======");
for (DateFormat format : dateFormats) {
try {
return format.parse(strings[0]);
} catch (ParseException e) {
continue;
} catch (RuntimeException e) {
continue;
}
}
throw new TypeConversionException();
} @Override
public String convertToString(Map map, Object o) {
System.out.println("================DateConverter============2=======");
SimpleDateFormat format = new SimpleDateFormat(
DEFAULT_DATE_FORMAT);
return format.format((Date) o); }
}

login.jsp:

<%@ taglib prefix="s" uri="/struts-tags" %>
<%--
Created by IntelliJ IDEA.
User: asus
Date: 2018/10/4
Time: 10:32
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
<title>登陆页面</title>
</head>
<body>
<div>
<fieldset>
<legend>类型转换</legend>
<form action="/user/log" method="post">
<fieldset>
<legend>类型转换-日期类型</legend>
<input type="text" name="date" value="2018-05-05">
</fieldset>
<input type="submit" value="提交">
</form>
</fieldset>
</div>
</body>
</html>

Struts2日期转换Demo下载: