类型有很多,这里只用日期为例说明。在Spring MVC中存在两大类的类型转换,一类是Json,一个是Spring的Binder转换。Spring MVC+Spring3+Hibernate4开发环境搭建 http://www.linuxidc.com/Linux/2013-07/87119.htmSpring MVC整合Freemarker基于注解方式 http://www.linuxidc.com/Linux/2013-02/79660.htm基于注解的Spring MVC简单介绍 http://www.linuxidc.com/Linux/2012-02/54896.htmSpring MVC 框架搭建及详解 http://www.linuxidc.com/Linux/2012-01/52740.htmJSON:使用Json转换时,可以如下使用: public class Test {
private Date createdate; @JsonSerialize(using = DateYMDHMSJsonSerializer.class) public Date getCreatedate() { return createdate; } @JsonDeserialize(using = DateYMDHMSJsonDeserializer.class) public void setCreatedate(Date createdate) { this.createdate = createdate; } }可以看到这里使用了两个Json转换的注解:第一个@JsonSerialize是转换为字符串,主要是后台传递给前台时的日期格式;第二个@JsonDeserialize是转换字符串为日期类型,主要是从前台往后台传递时的日期。两个具体转换类的实现:/** * Description: 日期转换 - "yyyy-MM-dd HH:mm:ss" * Author: liuzh * Update: liuzh(2014-04-17 10:59) */ public class DateYMDHMSJsonSerializer extends JsonSerializer<Date>{ @Override public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException { try { jsonGenerator.writeString(DateUtil.formatDate(date, DateUtil.DATE_FORMAT_TIME_T)); } catch (BusinessException e) { jsonGenerator.writeString(String.valueOf(date.getTime())); } } } /** * Description: 日期转换 - "yyyy-MM-dd HH:mm:ss" * Author: liuzh * Update: liuzh(2014-04-17 10:59) */ public class DateYMDHMSJsonDeserializer extends JsonDeserializer<Date> { @Override public Date deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { try { return DateUtil.formatStringToDate(jp.getText(), DateUtil.DATE_FORMAT_TIME_T); } catch (BusinessException e) { return new Date(jp.getLongValue()); } } }其中DateUtil是一个对日期格式转换的工具类,使用的SimpleDateFormat进行转换。更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2014-06/102727p2.htm