2012-10-16 42 views

回答

0

以下配置需要在xml文件中完成。

<!-- Configuration for Theme Selection --> 
    <!-- Note: property files for theme-XXX should be exist into build path.should be in:/WEB-INF/classes/ --> 
     <bean id="themeSource" 
     class="org.springframework.ui.context.support.ResourceBundleThemeSource"> 
      <property name="basenamePrefix" value="theme-"/> 
     </bean> 

     <bean id="themeChangeInterceptor" 
      class="org.springframework.web.servlet.theme.ThemeChangeInterceptor"> 
      <property name="paramName" value="theme" /> 
     </bean> 

     <bean id="themeResolver" 
      class="org.springframework.web.servlet.theme.SessionThemeResolver"> 
      <property name="defaultThemeName" value="green" /> 
     </bean> 

     <bean id="handlerMapping" 
      class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"> 
      <property name="interceptors"> 
       <list> 
        <ref bean="themeChangeInterceptor" /> 
       </list> 
      </property> 
     </bean> 

然後在您的屬性文件中,您需要指定相應主題的CSS文件的路徑。

css.style=/Web/resources/css/style.css 

希望這可以幫助你。

0

你應該先谷歌它並嘗試它你的自我,然後問任何問題,如果你有任何異常。

爲此,我們將在spring-servlet.xml文件中添加以下代碼。

<bean id="themeSource" class="org.springframework.ui.context.support.ResourceBundleThemeSource">   
<property name="basenamePrefix" value="theme-" /> 
</bean> 

<!-- Theme Change Interceptor and Resolver definition --> 
<bean id="themeChangeInterceptor" class="org.springframework.web.servlet.theme.ThemeChangeInterceptor">  
<property name="paramName" value="theme" /> 
</bean> 

<bean id="themeResolver" class="org.springframework.web.servlet.theme.CookieThemeResolver">  
<property name="defaultThemeName" value="default" /> 
</bean> 

<bean id="handlerMapping" class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">  
<property name="interceptors">   
<list>    
<ref bean="localeChangeInterceptor" />    
<ref bean="themeChangeInterceptor" />   
</list>  
</property> 
</bean> 

在上面的配置中,首先我們添加了themeSource bean。注意,這個bean是類ResourceBundleThemeSource的一個實例,我們也指定了一個屬性basenamePrefix,其值爲「theme-」。 ResourceBundleThemeSource類將加載包含以前綴「theme-」開頭的主題定義的屬性文件。因此,如果我們已經在我們的項目中定義了3個新主題(默認,黑色和藍色),那麼我們將創建3個屬性文件,同時具有某些配置屬性。這些文件也將被放置在項目類路徑下。

接下來,我們定義了一個攔截器bean themeChangeInterceptor,它是類org.springframework.web.servlet.theme.ThemeChangeInterceptor的一個實例。另外請注意,我們已經指定了一個屬性值爲主題的paramName。只要有參數「theme」使用不同的值進行請求,就會調用此攔截器。

一旦themeChangeInterceptor攔截主題中的更改,便會使用類org.springframework.web.servlet.theme.CookieThemeResolver將更改存儲在Cookie中。我們在spring-servlet.xml配置文件中配置了這個類。另請注意,我們已經用這個bean指定了默認主題名稱。

我們差不多完成了這些更改,剩下的最後一點是爲用戶添加功能以從UI中選擇主題。爲此,我們將更改header.jsp文件並添加3個不同主題的鏈接。用戶可以點擊這個鏈接中的任何一個,並更改Web應用程序的主題。

這整個信息可以在此鏈接http://viralpatel.net/blogs/spring-3-mvc-themes-tutorial-example/

希望這將有助於你找到。