2011-11-21 55 views
0

我配置了我的appstrings.properties文件,其中包含與我的應用程序使用的主題相關的字符串。我的應用程序有兩個主題。兩者都有自己的appstrings.properties文件,位於WEB-INF/strings/theme1/appstringsWEB-INF/strings/theme2/appstrings。我在config.properties文件中指定了屬性themeName。不同主題的Spring mvc ResourceBundleMessageSource

這裏是我的Spring配置文件:

<context:property-placeholder location="file:///${config.properties}" /> 

... 

<bean id="messageSource" 
class="org.springframework.context.support.ResourceBundleMessageSource" 
p:basenames="WEB-INF/strings/theme1/appstrings" /> 

現在我所有的應用程序字符串從WEB-INF /串/ THEME1/appstrings.properties文件來。我怎樣才能使它動態。即當我改變THEMENAME propperty到THEME2它應該從WEB-INF /串/ THEME2/appstrings.properties串

回答

0

如果config.properties包含一個屬性say:themeName = propertyValue。如果你想在Spring MVC的配置servlet的XML文件來使用此THEMENAME的值,那麼你可以使用$ {} THEMENAME

<bean id="messageSource" 
class="org.springframework.context.support.ResourceBundleMessageSource" 
p:basenames="WEB-INF/strings/${themeName}/appstrings" /> 

reference

1

您需要使用ResourceBundleThemeSource

<!-- resolves localized <theme_name>.properties files in the classpath to 
    allow for theme support --> 
<bean 
    class="org.springframework.ui.context.support.ResourceBundleThemeSource" 
    id="themeSource" /> 
<mvc:interceptors> 
    <bean class="org.springframework.web.servlet.theme.ThemeChangeInterceptor"/> 
</mvc:interceptors> 

Spring Reference Chapter 15.7 Using Themes

對於運行例如,您可以快速創建一個小型Spring Roo應用程序。它使用主題支持來更改css文件。