我被困在一些非常痛苦的事情。 我正在嘗試使用Spring WebMVC的主題。Spring MVC ThemeChangeInterceptor不改變主題
這是我的web-context.xml文件的末尾:
<beans:bean id="themeChangeInterceptor" class="org.springframework.web.servlet.theme.ThemeChangeInterceptor" >
<beans:property name="paramName" value="theme" />
</beans:bean>
<beans:bean id="themeSource" class="org.springframework.ui.context.support.ResourceBundleThemeSource">
<beans:property name="basenamePrefix" value="theme-" />
</beans:bean>
<beans:bean id="themeResolver" class="org.springframework.web.servlet.theme.CookieThemeResolver" >
<beans:property name="defaultThemeName" value="default" />
</beans:bean>
<beans:bean id="handlerMapping" class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<beans:property name="interceptors">
<beans:list>
<beans:ref bean="themeChangeInterceptor" />
</beans:list>
</beans:property>
</beans:bean>
在我的頭文件,我有這樣的:
<span style="float: right">
<a href="?theme=default">Default</a>
|
<a href="?theme=other">Other</a>
</span>
而結束,我的HTML頭有(所有視圖導入):
<link rel="stylesheet" href="<spring:theme code="css"/>" type="text/css" />
我在src/main/resources中得到了兩個屬性文件,這導致了我的css。例如在theme-default.properties中,有:
css=static/css/dev.css
我的CSS位於src/webapp/static/css /中。 當我第一次加載網站時,主題是默認的,所以我認爲屬性文件和CSS是由主題解析器正確找到的。 但是當我點擊標題中的Default或Other時,什麼也沒有發生。
你知道問題在哪裏嗎?
非常感謝你事先! Olivier。
我終於擴展了ThemeResolver類本身以實現我期望的行爲。 –