锁定老帖子 主题:spring 主题使用详解
精华帖 (0) :: 良好帖 (1) :: 新手帖 (2) :: 隐藏帖 (2)
|
|
---|---|
作者 | 正文 |
发表时间:2010-02-28
今天主要介绍下关于spring下主题(Theme)的内容,之前去网上搜索下了相关内容,发现其使用介绍都很简单,我这里详细介绍下如何使用spring的主题。
1、ThemeSource ThemeSource,说简单点,主要用于如何定位相应的主题资源文件。默认状态下,其具体实现类ResourceBunldeThemeSource是在类路径根目录下查找相应的资源文件,不过可以通过配置器属性basenamePrefix来制定。 <bean id="themeSource" class="org.springframework.ui.context.support.ResourceBundleThemeSource"> <property name="basenamePrefix" value="com.jack.themes."></property> </bean> 这样,DispatcherServlet就会下com.jack.themes包下进行查找资源文件。
2、ThemeResolver ThemeResolver的功能和ViewResolver、LocaleResolver类似,主要根据配置返回Theme。Spring默认提供三个ThemeResolver具体的类: (1).FixedThemeResolver (2).SessionThemeResolver (3).CookieThemeResolver 三个类的区别直接可以通过其名字就可以看出,fix表示固定,Session即会话,而cookie就是利用cookie了。以下我一一列出使用例子 2.1 FixedThemeResolver <bean id="themeResolver" class="org.springframework.web.servlet.theme.FixedThemeResolver"> <property name="defaultThemeName" value="summer"/> </bean> 设置主题文件为summer.properties,在整个项目内固定不变。 2.2 SessionThemeResolver <bean id="themeResolver" class="org.springframework.web.servlet.theme.SessionThemeResolver"> <property name="defaultThemeName" value="summer"/> </bean> 设置主题名称为每个用户在HttpSession内保存。 2.3 CookieThemeResolver <bean id="themeResolver" class="org.springframework.web.servlet.theme.CookieThemeResolver"> <property name="defaultThemeName" value="summer"/> </bean> 主题保存在Cookie中。 3、ThemeChangeInterceptor 如果需要根据用户请求来改变主题,则需要使用ThemeChangeInterceptor拦截器了。 <bean id="themeChangeInterceptor" class="org.springframework.web.servlet.theme.ThemeChangeInterceptor"> <property name="paramName" value="themeName"></property> </bean> 其中设置用户请求参数名为themeName,即url为?themeName=具体的主题名称。此外,还需要在handlerMapping中配置拦截器 <bean id="handlerMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"> <property name="interceptors" > <list> <ref local="themeChangeInterceptor"/> </list> </property> </bean> 这样,当ThemeResolver为CookieThemeResolver或者SessionThemeResolver时,可以通过url的参数设置来制定主题。 http://....../?themeName=summer,则主题为summer.properties文件 http://....../?themeName=winter,则主题为winter.properties文件。 4.主题文件 主题文件为主题名.properties格式,具体其内容则是一些key-value对,表示一些css或者图片、文字等。如 welcome.message=\u8FD9\u662F\u590F\u5929\uFF0C\u597D\u70ED\u554A\uFF01 hello.message=helloWorld! 需要注意的是其中的中文需要进行转码。 5.视图页面 通过spring的tags可以将主题内容进行显示 <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> <spring:theme code="welcome.message"></spring:theme> 这样,打开具体页面时就会根据当前主题显示相应内容了。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-03-01
spring的主题确实很少用,因为文档少,楼主写的内容为上手提供了很好的指导
|
|
返回顶楼 | |
发表时间:2010-03-02
学习,那里还有spring主题的资料啊?
|
|
返回顶楼 | |
发表时间:2010-03-02
还没用过 在这里学习了
|
|
返回顶楼 | |
发表时间:2010-03-03
对于主题这块 spring中资料确实是少之又少,并且我对spring主题的使用基本上没有使用过,今天在楼主的介绍下明白了一些,还有一些需要看书慢慢消化。
|
|
返回顶楼 | |
发表时间:2010-12-15
ckn126 写道 对于主题这块 spring中资料确实是少之又少,并且我对spring主题的使用基本上没有使用过,今天在楼主的介绍下明白了一些,还有一些需要看书慢慢消化。 最近在用这方面的资料和demo都不多 谢谢 楼主了 |
|
返回顶楼 | |
浏览 8668 次