Spring WebFlow的默认日期格式为“yyyy-MM-dd”。
如何更改为另一种格式?例如,“dd.mm.yyyy”。
Spring WebFlow的默认日期格式为“yyyy-MM-dd”。
如何更改为另一种格式?例如,“dd.mm.yyyy”。
@Component("myConversionService")
public class MyConversionService extends DefaultConversionService {
public void MyConversionService() {
}
}
Webflow将使用此服务来确定需要考虑哪些特殊绑定。现在只需编写您的特定日期绑定器(请记住,Webflow默认使用日期绑定器,您只需覆盖它即可)。
@Component
public class MyDateToString extends StringToObject {
@Autowired
public MyDateToString(MyConversionService conversionService) {
super(Date.class);
conversionService.addConverter(this);
}
@Override
protected Object toObject(String string, Class targetClass) throws Exception {
try{
return new SimpleDateFormat("MM\dd\yyyy").parse(string);//whatever format you want
}catch(ParseException ex){
throw new ConversionExecutionException(string, String.class, targetClass, Date.class);//invokes the typeMissmatch
}
}
}
我通过创建这个bean实现了这个目标:
@Component(value = "applicationConversionService") public class ApplicationConversionServiceFactoryBean extends FormattingConversionServiceFactoryBean {
@Override protected void installFormatters(FormatterRegistry registry) { // Register the default date formatter provided by Spring registry.addFormatter(new DateFormatter("dd/MM/yyyy")); } }
像这样注册bean:
<bean id="defaultConversionService" class="org.springframework.binding.convert.service.DefaultConversionService">
<constructor-arg ref="applicationConversionService" />
</bean>
然后被引用:
<mvc:annotation-driven conversion-service="applicationConversionService" />
并且:
<!-- Enables custom conversion, validation and sets a custom vew factory creator on Spring Webflow -->
<webflow:flow-builder-services id="flowBuilderServices" conversion-service="defaultConversionService" validator="validator" view-factory-creator="mvcViewFactoryCreator" />
我使用这个配置,对我来说效果很好。希望能帮到你。
StringToDate std = new StringToDate();
std.setPattern("dd.MM.yyyy");
MyConversionService
并将您的MyDateToString
添加到该转换服务中。因此,您需要同时创建这两个内容。MyDateString
不实现 ConversionService。 - John VintMyEntity
的对象。如果传递正确(Web表单会处理),Spring MVC和Webflow会为你处理集合。你需要做的就是让你的toObject
方法返回这个集合。 - John Vint