首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

spring 正题使用详解

2012-11-05 
spring 主题使用详解? 今天主要介绍下关于spring下主题(Theme)的内容,之前去网上搜索下了相关内容,发现其

spring 主题使用详解

? 今天主要介绍下关于spring下主题(Theme)的内容,之前去网上搜索下了相关内容,发现其使用介绍都很简单,我这里详细介绍下如何使用spring的主题。

?

?1、ThemeSource

? ThemeSource,说简单点,主要用于如何定位相应的主题资源文件。默认状态下,其具体实现类ResourceBunldeThemeSource是在类路径根目录下查找相应的资源文件,不过可以通过配置器属性basenamePrefix来制定。

 <bean id="themeSource" 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" value="summer"/>     </bean>

?设置主题文件为summer.properties,在整个项目内固定不变。

?? 2.2 SessionThemeResolver

  <bean id="themeResolver" value="summer"/>   </bean>

?设置主题名称为每个用户在HttpSession内保存。

? 2.3 CookieThemeResolver

  <bean id="themeResolver" value="summer"/>   </bean>

?主题保存在Cookie中。

3、ThemeChangeInterceptor

?? 如果需要根据用户请求来改变主题,则需要使用ThemeChangeInterceptor拦截器了。

 <bean id="themeChangeInterceptor" value="themeName"></property>   </bean>                 

?其中设置用户请求参数名为themeName,即url为?themeName=具体的主题名称。此外,还需要在handlerMapping中配置拦截器

<bean id="handlerMapping" >      <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\uFF01hello.message=helloWorld!

?需要注意的是其中的中文需要进行转码。

5.视图页面

?通过spring的tags可以将主题内容进行显示

<%@ taglib  prefix="spring" uri="http://www.springframework.org/tags" %> <spring:theme code="welcome.message"></spring:theme>

?这样,打开具体页面时就会根据当前主题显示相应内容了。

1 楼 aixinnature 2010-03-01   spring的主题确实很少用,因为文档少,楼主写的内容为上手提供了很好的指导 2 楼 songfantasy 2010-03-02   学习,那里还有spring主题的资料啊? 3 楼 jacki6 2010-03-02   还没用过 在这里学习了 4 楼 ckn126 2010-03-03   对于主题这块 spring中资料确实是少之又少,并且我对spring主题的使用基本上没有使用过,今天在楼主的介绍下明白了一些,还有一些需要看书慢慢消化。 5 楼 li_gou 2010-12-15   ckn126 写道对于主题这块 spring中资料确实是少之又少,并且我对spring主题的使用基本上没有使用过,今天在楼主的介绍下明白了一些,还有一些需要看书慢慢消化。
最近在用这方面的资料和demo都不多 谢谢 楼主了

热点排行