Manual data type conversion (converter)
- Write custom converters, customize conversion rules, and convert date formats
- Converter conversion interface
- Convert one type to another type of object
- convert()
- Custom Converter (StringToDateConverter.java)
- Implement the convert() method: complete the conversion of strings to java.util.Date
- Assembling a custom ConversionService
StringToDateConverter.java source code
public class StringToDateConverter implements Converter<String, Date> {
private String datePattern;
public StringToDateConverter(String datePattern) {
this.datePattern=datePattern;
}
@Override
public Date convert(String dateString) {
Date date=null;
try {
date=new SimpleDateFormat("yyyy年MM月dd日").parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
}
Configuration file source code
<bean id="stringToDateConverter" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="tools.StringToDateConverter" >
<constructor-arg type="java.lang.String" value="yyyy年MM月dd日"></constructor-arg>
</bean>
</list>
</property>
</bean>
<mvc:annotation-driven conversion-service="stringToDateConverter">
</mvc:annotation-driven>
- Custom editor to realize date format conversion
- Assembling a custom editor with @InitBinder
- BaseController.java, annotated @InitBinder
- Note: Methods annotated with @InitBinder will be called when the controller is initialized.
- Modify UserController.java to inherit BaseController
BaseController.java source code
public class BaseController {
@InitBinder
public void initBinder(WebDataBinder dataBinder){
dataBinder.registerCustomEditor(Date.class,
new CustomDateEditor(new SimpleDateFormat("yyyy年MM月dd日"), true));
}
}
UserController.java source code
public class UsersController extends BaseController {
}