2013-07-31 60 views
1

我使用Spring 3.1.1.RELEASE。我有一個模型,我提交給我的一個控制器。在這裏面,是以下領域Spring:如何從屬性文件中設置@DateTimeFormat的模式?

@DateTimeFormat(pattern = "#{appProps['class.date.format']}") 
private java.util.Date startDate; 

然而,上述不工作(在EL不理解),在儘可能每次我提出我的表格時,我得到一個錯誤。如果我使用以下

@DateTimeFormat(pattern="yyyy-MM-dd") 
private java.util.Date startDate; 

一切工作正常。但理想情況下,我想從屬性文件中驅動該模式。這是可能的,如果是這樣,什麼是正確的語法?

  • 戴夫

回答

0

我會用PropertySourcesPlaceholderConfigurer閱讀我的系統性能。然後,您可以使用此語法來解析佔位符:${prop.name}

註釋的申請應該像這樣,那麼:

@DateTimeFormat(pattern = "${class.date.format}") 
private java.util.Date startDate; 

要配置PropertySourcesPlaceholderConfigurer在XML應用程序,試試這個:

<bean class="org.springframework.beans.factory.config.PropertySourcesPlaceholderConfigurer"> 
    <property name="location"> 
    <list> 
     <value>classpath:myProps.properties</value> 
    </list> 
    </property> 
    <property name="ignoreUnresolveablePlaceholders" value="true"/> 
</bean> 

或者與JavaConfig:

@Bean 
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() { 
    //note the static method! important!! 
    PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer(); 
    Resource[] resources = new ClassPathResource[] { new ClassPathResource("myProps.properties")}; 
    configurer.setLocations(resources); 
    configurer.setIgnoreUnresolvablePlaceholders(true); 
    return configurer; 
} 
相關問題