时间转换器的类可以这样写,但是便于在项目中易于维护,你最好将他放在一个Servlet中,然后将Servlet配置在web.xml中,使得项目在启动后可以对任何页面的时间进行转换。
时间转换器:
Servlet类:
web.xml配置:
<servlet>
<servlet-name>initServlet</servlet-name>
<servlet-class>com.xiaosu.InitServlet</servlet-class>
<load-on-startup>3</load-on-startup>
</servlet>
时间转换器:
- package com.xiaosu;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import org.apache.commons.beanutils.Converter;
- public class UtilDateConverter implements Converter {
- private static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- public Object convert(Class type, Object value) {
- if (value == null) {
- return value;
- }
- if (value instanceof Date) {
- return value;
- }
- if (value instanceof String) {
- try {
- return format.parse((String) value);
- } catch (ParseException ignore) {
- }
- }
- return null;
- }
- }
package com.xiaosu;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.beanutils.Converter;
public class UtilDateConverter implements Converter {
private static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
public Object convert(Class type, Object value) {
if (value == null) {
return value;
}
if (value instanceof Date) {
return value;
}
if (value instanceof String) {
try {
return format.parse((String) value);
} catch (ParseException ignore) {
}
}
return null;
}
}
Servlet类:
- package com.xiaosu;
- import java.util.Date;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import org.apache.commons.beanutils.ConvertUtils;
- public class InitServlet extends HttpServlet {
- @Override
- public void init() throws ServletException {
- //注册日期类型的转换器
- ConvertUtils.register(new UtilDateConverter(), Date.class);
- }
- }
package com.xiaosu;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import org.apache.commons.beanutils.ConvertUtils;
public class InitServlet extends HttpServlet {
@Override
public void init() throws ServletException {
//注册日期类型的转换器
ConvertUtils.register(new UtilDateConverter(), Date.class);
}
}
web.xml配置:
<servlet>
<servlet-name>initServlet</servlet-name>
<servlet-class>com.xiaosu.InitServlet</servlet-class>
<load-on-startup>3</load-on-startup>
</servlet>