spring配置主题,挺简单的,百度几分钟就搞定了。
你需要做什么?
1.在springmvc-servlet.xml中配置响应bean
2.写主题的配置文件,一个主题一个properties
3.写css,或响应主题图片就行了。
不需要自己再另外写controller
项目路径:
theme-1.properties
#这么配置,自定义
#我在这的意思是,1.jsp的css == 这个路径下的css样式
1jspcss=static_sources/theme/theme1/1.css ==>请注意这的1jspcss等下在1.jsp中要用到!
。。。
。。。
。。其他网站页面的css或图片路径
1.springmvc-servlet.xml
<!--spring主题-->
<!--1.配置ResourceBundleThemeSource-->
<bean id="themeSource" class="org.springframework.ui.context.support.ResourceBundleThemeSource">
主题配置文件的统一前缀,这样spring才知道那些配置文件是主题的配置文件
<property name="basenamePrefix" value="theme-"/>
</bean>
<!--2.配置主题解释器 FixedThemeResolver,SessionThemeResolver,CookieThemeResolver-->
<bean id="themeResolver" class="org.springframework.web.servlet.theme.CookieThemeResolver">
<!--默认主题, ==>theme-1.properties-->
默认:前缀+下面的‘1’ ==》theme-1.properties
<property name="defaultThemeName" value="1"/>
</bean>
<!--3.主题拦截器,-->
<bean id="themeChangeInterceptor" class="org.springframework.web.servlet.theme.ThemeChangeInterceptor">
主题的请求参数 请求路径中的 theme=1表示选theme-1这个配置文件,
<property name="paramName" value="theme"/>
</bean>
拦截器
<mvc:interceptors>
<ref bean="themeChangeInterceptor"></ref>
</mvc:interceptors>
静态资源!
<mvc:resources mapping="/static_sources/**" location="/static_sources/" />
<!--spring主题-->
2. 1.jsp
只贴出了关键部分!
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath() %>/<spring:theme code='1jspcss'/>"/>
| -->刚刚配置文件中的key,通过key获取css路径!
<body>
视图解析器页面.jsp
主题测试!
主题切换按钮
<a type="button" href="1?theme=1">theme1</a><br>
<a type="button" href="1?theme=2">theme2</a><br>
主题1是默认主题 ,演示主题1下切换到主题2,(ubuntu这个录屏太难用了,竟然要输命令来,确定窗口大小和延迟,?)