springテーマ使用詳細

11203 ワード

commonにいますinclude_v 2.jspファイルでは、springテーマの使用:
<link href="${staticPath }/<spring:theme code='styleSheet'/>/jquery-ui/jquery-ui-1.9.0.css" rel="stylesheet" type="text/css"  />
新しい枠組みの中で、さまざまなユーザーに対して異なるテーマを使うことを満たすために導入されました.この使い方はプロジェクトの中でjspページに直接アクセスできなくなりました.問題が発生した以上、よく理解して、他の方法を考えて解決しなければなりません.
フレームにthemeに関する関連配置ファイルを使用します.
 src\web.xml   :

<servlet>

    <servlet-name>springMVC</servlet-name>

    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

    <load-on-startup>1</load-on-startup>

  </servlet>

  <servlet-mapping>

    <servlet-name>springMVC</servlet-name>

    <url-pattern>/</url-pattern>

  </servlet-mapping>

 springMVC-serlvet.xml   :

  <bean id="themeResolver" class="org.springframework.web.servlet.theme.CookieThemeResolver" >

        <property name="defaultThemeName" value="default" />

    </bean>

    

    <bean id="themeSource" class="org.springframework.ui.context.support.ResourceBundleThemeSource">

        <property name="basenamePrefix" value="themes."></property>

    </bean>
--------------------------------------------------------------
 今日は主にspringの下のテーマについて紹介します.以前にインターネットで関連内容を検索してみましたが、利用紹介は全部簡単です.ここではspringの使用方法を詳しく紹介します.
 
 1、The meSource
  ThemeSourceは、簡単な点を言います.主にどのように該当するテーマのリソースファイルを位置付けするかに使います.デフォルトの状態では、クラスのResource BunldeThe meSourceは、クラスルートディレクトリの下で対応するリソースファイルを検索するが、プロビジョニング属性basename Prefixによって制定することができる.
 
<bean id="themeSource" class="org.springframework.ui.context.support.ResourceBundleThemeSource">  
  <property name="basenamePrefix" value="com.jack.themes."></property> </bean>
 
このように、Displatch Servletはcomp.jack.themesパッケージの下でリソースファイルを検索します.
2、ThemeResolaver
  The meResolaverの機能はView Resoliver、LocaleResolaverと似ています.主に構成によってThe meに戻ります.Springデフォルトでは三つのThe meResolaverの具体的なクラスを提供します.
     (1).FixedThe meResolaver
     (2)Session The meResolaver
     (3).Cookie The meResolaver
  三つの種類の違いは直接にその名前で見られます.fixは固定、セッション、クッキーはクッキーを利用しています.以下は使用例を示します.
2.1 FixedThe meResolover
<bean id="themeResolver" class="org.springframework.web.servlet.theme.FixedThemeResolver">  

  <property name="defaultThemeName" value="summer"/>
</bean>
 
2.2 Session The meResolaver
<bean id="themeResolver" class="org.springframework.web.servlet.theme.SessionThemeResolver">  

      <property name="defaultThemeName" value="summer"/>  

</bean>
 
テーマ名を設定します.各ユーザはHttpSessionに保存します.
<bean id="themeResolver" class="org.springframework.web.servlet.theme.CookieThemeResolver">  

  <property name="defaultThemeName" value="summer"/>  

</bean>  
 
テーマはCookieに保存されています.
3、ThemeChange Interceptor
   ユーザーの要求に応じてテーマを変更する必要がある場合は、ThemeChange Interceptorブロックを使用する必要があります.
<bean id="themeChangeInterceptor" class="org.springframework.web.servlet.theme.ThemeChangeInterceptor">  

  <property name="paramName" value="themeName"></property>  

</bean> 
 
ユーザ要求パラメータの設定名はthemeNameであり、urlは?themeName=具体的なテーマ名.また、ハンドルMappingにスクリーンショットを配置する必要があります.
<bean id="handlerMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">  

   <property name="interceptors" >  

      <list>  

         <ref local="themeChangeInterceptor"/>  

      </list>  

   </property>  

</bean> 
 
 このように、The meResolaverがCookie The meResoloverまたはSession The meResolaverである場合、urlのパラメータ設定によってテーマを作成することができます.
   http://....../?themeName=summerでは、テーマはsummer.propertiesファイルです.
   http://....../?themeName=winterでは、テーマはwinter.propertiesファイルです.
4.テーマファイル
  テーマファイルはテーマ名です.具体的には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> 
 
このように、具体的なページを開くと、現在のテーマに応じて内容が表示されます.
 
--------------------------------------------------------------
以上の文章はネット資料で、原文の住所:http://www.iteye.com/topic/604484
参考資料:
http://docs.spring.io/spring/docs/3.0.0.M3/reference/html/ch16s07.html