spring boot Thymeleaf 環(huán)境搭建

最近后臺(tái)項(xiàng)目拆分瘾敢,由于之前APP后臺(tái)拆分時(shí)用的spring-boot瞧筛,而且一些公用的都以獨(dú)立模塊分離(web、auth息拜、datasource溉潭、orm等等),所以后臺(tái)也用spring-boot少欺,把需要的模塊通過(guò)maven引入進(jìn)來(lái)就可以了喳瓣,可以省很多事;前端瞅了瞅赞别,看Thymeleaf不錯(cuò)畏陕,跟spring-boot集成也比較好,就選它了仿滔。

1惠毁、創(chuàng)建一個(gè)maven工程,這個(gè)應(yīng)該都會(huì)
2崎页、pom文件加入下面內(nèi)容即可(版本號(hào)自己改)

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.6.RELEASE</version>
  </parent>

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
  </dependencies>

3鞠绰、寫一個(gè)入口類(偷懶,控制器也寫這里了)

@Controller
@SpringBootApplication
public class Application {

    /**
     * @param args
     */
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
    
    @RequestMapping("/")
    public String toIndex() {
        return "index";
    }
}

4飒焦、寫個(gè)index.html

  • spring boot默認(rèn)加載文件的路徑是
    • /META-INF/resources/
    • /resources/
    • /static/
    • /public/

由于習(xí)慣上靜態(tài)資源還是放到 static下蜈膨,所以在工程的resources目錄下建立一個(gè)static目錄,static下面可以再建css、js等等目錄

  • Thymeleaf是需要寫模板翁巍,自然也需要一個(gè)路徑驴一,而它的路徑也是在resources下,只需建一個(gè)templates文件夾即可

  • 在templates新建一個(gè)index.html文件灶壶,內(nèi)容如下:

<!DOCTYPE html>
<html lang="zh-CN" xmlns:th="http://www.thymeleaf.org">
<head>
    <title>首頁(yè)</title>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    
    <link rel="stylesheet" th:href="@{/css/index.css}" />
</head>
<body>
    hi
</body>
</html>

5肝断、通過(guò)前面寫的Application入口類運(yùn)行程序
瀏覽器輸入:http://localhost:8080/
即可看到結(jié)果

下面是一些額外配置

在工程的resources目錄下創(chuàng)建一個(gè)application.properties文件,這個(gè)文件是spring-boot用來(lái)配置一些工程屬性用的

# 配置服務(wù)器端口驰凛,默認(rèn)是8080胸懈,可以不用配置
server.port=8080
# 模板配置
# 這個(gè)開(kāi)發(fā)配置為false,避免改了模板還要重啟服務(wù)器
spring.thymeleaf.cache=false
# 這個(gè)是配置模板路徑的洒嗤,默認(rèn)就是templates箫荡,可不用配置
spring.thymeleaf.prefix=classpath:/templates/
# 這個(gè)可以不配置,檢查模板位置
spring.thymeleaf.check-template-location=true
# 下面3個(gè)不做解釋了渔隶,可以不配置
spring.thymeleaf.suffix=.html
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html

# 模板的模式
spring.thymeleaf.mode=HTML5

這個(gè)mode有6種(2.1版本):

  • XML
  • Valid XML
  • XHTML (默認(rèn))
  • Valid XHTML
  • HTML5
  • Legacy HTML5

一般常用的是最后兩個(gè)羔挡,第一個(gè)沒(méi)啥好說(shuō)的,第二個(gè)為了兼容之前的代碼间唉,便于向Thymeleaf過(guò)度绞灼。

官方文檔關(guān)于這個(gè)說(shuō)明:
除了Legacy HTML5之外,其他模式都必須是閉合的(標(biāo)簽)呈野,也就是說(shuō)不支持不規(guī)范的HTML標(biāo)簽寫法 (有人說(shuō)這個(gè)是Thymeleaf的坑低矮,其實(shí)人家文檔開(kāi)始就說(shuō)明了)

不規(guī)范的寫法 such as standalone (not closed) tags, tag attributes without a value or not written between quotes

對(duì)于配置了Legacy HTML5模式的情況,Legacy HTML5先轉(zhuǎn)換為規(guī)范寫法的H5被冒,so官方建議使用H5的代碼來(lái)寫模板

Thymeleaf will first perform a transformation that will convert your files to well-formed XML files which are still perfectly valid HTML5 (and are in fact the recommended way to create HTML5 code)

配置為L(zhǎng)egacy HTML5模式军掂,還需要額外引入一個(gè)包用來(lái)處理代碼

<dependency>
      <groupId>net.sourceforge.nekohtml</groupId>
      <artifactId>nekohtml</artifactId>
      <version>1.9.22</version><!-- 版本自己調(diào)整,也可不動(dòng) -->
</dependency>

不知道對(duì)那段英文的理解是否有偏差


Thymeleaf 3.0版本有些區(qū)別(分為以下幾種):

  • HTML (默認(rèn))
  • XML
  • TEXT
  • JAVASCRIPT
  • CSS
  • RAW

其中默認(rèn)是mode是HTML昨悼。配置為HTML支持: HTML, HTML5, HTML4 和 XHTML蝗锥。
無(wú)需添加nekohtml包


參考代碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末率触,一起剝皮案震驚了整個(gè)濱河市终议,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌葱蝗,老刑警劉巖穴张,帶你破解...
    沈念sama閱讀 211,561評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異两曼,居然都是意外死亡皂甘,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門合愈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)叮贩,“玉大人击狮,你說(shuō)我怎么就攤上這事佛析∫胬希” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 157,162評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵寸莫,是天一觀的道長(zhǎng)捺萌。 經(jīng)常有香客問(wèn)我,道長(zhǎng)膘茎,這世上最難降的妖魔是什么桃纯? 我笑而不...
    開(kāi)封第一講書人閱讀 56,470評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮披坏,結(jié)果婚禮上态坦,老公的妹妹穿的比我還像新娘。我一直安慰自己棒拂,他們只是感情好伞梯,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著帚屉,像睡著了一般谜诫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上攻旦,一...
    開(kāi)封第一講書人閱讀 49,806評(píng)論 1 290
  • 那天喻旷,我揣著相機(jī)與錄音,去河邊找鬼牢屋。 笑死且预,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的烙无。 我是一名探鬼主播锋谐,決...
    沈念sama閱讀 38,951評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼皱炉!你這毒婦竟也來(lái)了怀估?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,712評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤合搅,失蹤者是張志新(化名)和其女友劉穎多搀,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體灾部,經(jīng)...
    沈念sama閱讀 44,166評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡康铭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了赌髓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片从藤。...
    茶點(diǎn)故事閱讀 38,643評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡催跪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出夷野,到底是詐尸還是另有隱情懊蒸,我是刑警寧澤,帶...
    沈念sama閱讀 34,306評(píng)論 4 330
  • 正文 年R本政府宣布悯搔,位于F島的核電站骑丸,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏妒貌。R本人自食惡果不足惜通危,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望灌曙。 院中可真熱鬧菊碟,春花似錦、人聲如沸在刺。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,745評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)增炭。三九已至忍燥,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間隙姿,已是汗流浹背梅垄。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,983評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留输玷,地道東北人队丝。 一個(gè)月前我還...
    沈念sama閱讀 46,351評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像欲鹏,于是被迫代替她去往敵國(guó)和親机久。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容