W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
要在你的應(yīng)用中使用主題,你必須實現(xiàn)一個org.springframework.ui.context.ThemeSource
接口。WebApplicationContext
接口繼承了ThemeSource
接口,但主要的工作它還是委托給接口具體的實現(xiàn)來完成。默認的實現(xiàn)是org.springframework.ui.context.support.ResourceBundleThemeSource
,它會從classpath的根路徑下去加載配置文件。如果需要定制ThemeSource
的實現(xiàn),或要配置ResourceBundleThemeSource
的基本前綴名(base name prefix),你可以在應(yīng)用上下文(application context)下注冊一個名字為保留名themeSource
的bean,web應(yīng)用的上下文會自動檢測名字為themeSource
的bean并使用它。
使用的是ResourceBundleThemeSource
時,一個主題可以定義在一個簡單的配置文件中。該配置文件會列出所有組成了該主題的資源。下面是個例子:
styleSheet=/themes/cool/style.css
background=/themes/cool/img/coolBg.jpg
屬性的鍵(key)是主題元素在視圖代碼中被引用的名字。對于JSP視圖來說,一般通過spring:theme
這個定制化的標簽(tag)來做,它與spring:message
標簽很相似。以下的JSP代碼即使用了上段代碼片段中定義的主題,用以定制整體的皮膚:
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<html>
<head>
<link rel="stylesheet" href="<spring:theme code=''styleSheet''/>" type="text/css"/>
</head>
<body style="background=<spring:theme code=''background''/>">
...
</body>
</html>
默認情況下ResourceBundleThemeSource
使用的基本名前綴(base name prefix)是空值。也即是說,配置文件是從根classpath路徑下加載的。因此,你需要把主題的定義文件cool.properties
放在classpath的根路徑目錄下,比如,/WEB-INF/classes
。ResourceBundleThemeSource
采用了Java的標準資源bundle加載機制,完全支持國際化主題。比如,你可以創(chuàng)建一個/WEB-INF/classes/cool_nl.properties
配置文件,并在其中引用一副有荷蘭文的背景圖片。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: