日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spring boot 中用到的thymeleaf (模板引擎)

發布時間:2024/3/13 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring boot 中用到的thymeleaf (模板引擎) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

???????????????????????????? ??thymeleaf

?

一.??????????簡要:

thymeleaf 支持html5標準;是一種模板引擎框架(TemplateEngine Framework);thymeleaf 頁面無須部署到servlet開發到服務器上,直接通過瀏覽器就能打開。它可以完全替代 JSP 。特點:

  • 1.Thymeleaf 在有網絡和無網絡的環境下皆可運行,即它可以讓美工在瀏覽器查看頁面的靜態效果,也可以讓程序員在服務器查看帶數據的動態頁面效果。這是由于它支持 html 原型,然后在 html 標簽里增加額外的屬性來達到模板+數據的展示方式。瀏覽器解釋 html 時會忽略未定義的標簽屬性,所以 thymeleaf 的模板可以靜態地運行;當有數據返回到頁面時,Thymeleaf 標簽會動態地替換掉靜態內容,使頁面動態顯示。

  • 2.它提供標準和spring標準兩種方言,可以直接套用模板實現JSTL、 OGNL表達式效果。

  • 3.Thymeleaf 提供spring標準方言和一個與 SpringMVC 完美集成的可選模塊,可以快速的實現表單綁定、屬性編輯器、國際化等功能。

二.??????????thymeleaf 標準表達式語法

1.??????簡單表達式

(1)??????Variable Expressions(變量表達式):${…}。

EX: ${session.user.name}

它們將以HTML標簽的一個屬性來表示:

<span th:text="${book.author.name}"> <li th:each="book : ${books}">

變量表達式可以是OGNL表達式或Spring EL表達式。

<span th:text="${book.author.name}"> <li th:each="book : ${books}">

這里${books}從上下文中選擇名為books的變量,并將其評估為可在th:each循環中使用的迭代器(iterable)

e.g.

1.Established locale country: <spanth:text="${#locale.country}">US</span>

2.<p>? Today is: <span th:text="${#calendars.format(today,'dd MMMM yyyy')}">13 May 2011</span></p>

(2)??????Selection Expressions(選擇表達式):*{…}。

EX:? *{customer.name}????????

(所有可用值表達式:比如*{name} 從可用值中查找name,如果有上下文,比如上層是object,則查object中的name屬性。)

?

所作用的對象由th:object屬性指定。

EX

equals:(等價于)

(3)??????Message(il8n)Expressions(消息表達式):#{…}。

文字國際化表達式允許我們從一個外部文件獲取區域文字信息(.properties),用Key索引Value,還可以提供一組參數(可選).

國際化時使用,也可以使用內置的對象,比如date格式化數據

EX:

<table> ... <th th:text="#{header.address.city}">...</th> <th th:text="#{header.address.country}">...</th> ... </table> #{main.title} #{message.entrycreated(${entryId})}

注意:如果希望消息key由上下文變量的值確定,或者將變量指定為參數,則可以在消息表達式中使用變量表達式。

(4)??????Link(URL)Expressions(鏈接表達式):@{…}

URL表達式指的是把一個有用的上下文或回話信息添加到URL,這個過程經常被叫做URL重寫。
?@{/order/list}?
URL還可以設置參數:
?@{/order/details(id=${orderId})}??
相對路徑:
?@{../documents/report}?

EX:

鏈接表達式可以是相對的,在這種情況下,應用程序上下文將不會作為URL的前綴。

<a th:href=”@{../documents/report}”>…</a>

也可以是服務器相對(同樣,沒有應用程序上下文前綴)

<a th:href=”@{~/contents/main}”>…</a>

e.g.

<a???? th:href="@{http://www.thymeleaf/documentation.html}"></a>

equals:

<a href="http://www.thymeleaf/documentation.html"></a>

?

<form th:action="@{/createOrder}"> <a href="main.html" th:href="@{/main}">

(5)??????Fragment Expressions(分段表達式):~{…}。

分段表達式是一種表示標記片段并將其移動到模板周圍的簡單方法。

最常見的用法是使用th:insert或th:replace插入片段。

?

2.??????字面量

(1)??????文本:’one text’ ’Another one!’等。

?<div th:class=" ‘the content’ ">...</div>

(2)??????數值:0、34、3.0、12.3等。

ex:? ??<p>The year is <span th:text="2013">1492</span>.</p>

(3)??????布爾:true、false。

ex: <div th:if="${user.isAdmin()} == false">

ex: <div th:if="${user.isAdmin() == false}">

(4)??????null :null。

ex:? <div th:if="${variable.something} == null">

(5)??????Literal Token(字面量標記):one、sometext、main等。

ex: 

<div th:class="content">...</div>

3.??????文本操作

(1)??????字符串拼接:+。

(2)??????文本替換:| The name is ${name} |。

ex:

<span th:text="|Welcome to our application, ${user.name}!|"> <span th:text="'Welcome to our application, ' + ${user.name} + '!'"> <span th:text="${onevar} + ' ' + |${twovar}, ${threevar}|">

4.??????算數操作

(1)??????二元運算符:+、- 、* 、/、%。

(2)??????減號(單目運算符):—。

<ol><li>+:<span th:text="1+1">1+1</span>.</li><li>-: <span th:text="2-1">2-1</span>.</li><li>*:<span th:text="2*3">2*3</span>.</li><li>/: <span th:text="9/4">9/4</span>.</li><li>%:<span th:text="9%4">9%4</span>.</li> </ol>

5.??????布爾操作

(1)??????二元運算符:and、or。

(2)??????布爾否定(一元運算符):!、not。

<ol> <li>and:<span th:if="${!#lists.isEmpty(list)} and ${#lists.isEmpty(list)}" th:text="${!#lists.isEmpty(list)} and ${#lists.isEmpty(list)}">and</span></li> <li>or:<span th:if="${!#lists.isEmpty(list)} or ${#lists.isEmpty(list)}" th:text="${!#lists.isEmpty(list)} or ${#lists.isEmpty(list)}">or</span></li> <li>!(not):<span th:if="${!#lists.isEmpty(list)}" th:text="${!#lists.isEmpty(list)}">not</span></li> </ol>

6.??????比較和等價

(1)???? 比較:>、<、>=、<=、(gt,lt,ge,le)。

(2)????? 等價:==、!=、(eq、ne)。

<ol><li>>(gt):<span th:text="1+1" th:if="${#lists.size(list)} > 1">大于></span>else</li><li>小于lt:<span th:if="${#lists.size(list)} lt 1">小于</span>else</li><li>>=(ge):<span th:if="${#lists.size(list)} >= 1">大于等于>=</span>else</li><li>小于等于(le):<span th:if="${#lists.size(list)} le 1">小于等于</span>else</li><li>!(not):<span th:if="${!#lists.isEmpty(list)}">!(not)</span>else</li><li>==(eq):<span th:text="'Execution mode is ' + ( (${execMode} == 'dev')? 'Development' : 'Production')">等于==</span></li><li>!=(ne/neq):size:<span th:text="${#lists.size(list)}" th:if="${#lists.size(list)} != 1"></span></li> </ol>

7.? 條件運算符

?(1)If-then:(if) ? (then)。

(2)If-then-else:(if) ? (then) : (else)。

(3)Default:(value) ? (default value)。

<li>? 'xx' :'xx'(if ? then:else)<span th:class="${title} ? 'green' :' red'">樣例一</span></li> <li>?'xx'(if ? then)<span th:class="${title1} ? 'green'">樣例二</span></li>

8.特殊標記

No-Operation(無操作):_。

9.表達式基本對象(Expression Basic Objects)

(1)#ctx:上下文對象。

(2)#vars: 上下文變量。

(3)#locale:上下文區域設置。

(4)#request:HttpServletRequest對象(僅在Web上下文中)。

(5)#response:HttpServletResponse對象(僅在Web上下文中)。

(6)#session:HttpSession對象(僅在Web上下文中)。

(7)#servletContext:ServletContext對象(僅在Web上下文中)。

10.表達式工具對象(ExpressionUtility Objects)

(1)#execInfo:模板執行的信息。

(2)#message:在變量內獲取外部信息的方法表達式,與使用#{…}語法獲得的方式相同。

(3)#uris:用于轉義URL/URI部分的方法。

(4)#conversions:執行已配置的conversion service。

(5)#numbers:格式化數字對象的方法。

(6)#strings:String對象的方法,包括contains,startsWith,prepending/appending等。

(7)#objects:對象通常方法。

(8)#bools:布爾判斷的方法。

(10)#lists:list方法。

(11)#sets:set方法。

(12)#maps:map方法。

(13)#aggregates:在數組或集合上創建聚合的方法。

(14)#ids:用于處理可能重復的id屬性的方法(如作為迭代的結果)。

常用th標簽都有那些?

關鍵字功能介紹案例
th:id替換id?<input th:id="'xxx' + ${collect.id}"/>?
th:text文本替換<p th:text="${collect.description}">description</p>
th:utext支持html的文本替換<p th:utext="${htmlcontent}">conten</p>
th:object替換對象<div th:object="${session.user}">?
th:value屬性賦值<input th:value="${user.name}" />?
th:with變量賦值運算<div th:with="isEven=${prodStat.count}%2==0"></div>?
th:style設置樣式th:style="'display:' + @{(${sitrue} ? 'none' : 'inline-block')} + ''"?
th:onclick點擊事件th:onclick="'getCollect()'"?
th:each屬性賦值tr th:each="user,userStat:${users}">?
th:if判斷條件?<a th:if="${userId == collect.userId}" >?
th:unless和th:if判斷相反<a th:href="@{/login}" th:unless=${session.user != null}>Login</a>?
th:href鏈接地址<a th:href="@{/login}" th:unless=${session.user != null}>Login</a> />?
th:switch多路選擇 配合th:case 使用<div th:switch="${user.role}">?
th:caseth:switch的一個分支?<p th:case="'admin'">User is an administrator</p>
th:fragment布局標簽,定義一個代碼片段,方便其它地方引用<div th:fragment="alert">
th:include布局標簽,替換內容到引入的文件<head th:include="layout :: htmlhead" th:with="title='xx'"></head> />?
th:replace布局標簽,替換整個標簽到引入的文件<div th:replace="fragments/header :: title"></div>?
th:selectedselected選擇框 選中th:selected="(${xxx.id} == ${configObj.dd})"
th:src圖片類地址引入<img class="img-responsive" alt="App Logo" th:src="@{/img/logo.png}" />?
th:inline定義js腳本可以使用變量<script type="text/javascript" th:inline="javascript">
th:action表單提交的地址<form action="subscribe.html" th:action="@{/subscribe}">
th:remove刪除某個屬性<tr th:remove="all"> 1.all:刪除包含標簽和所有的孩子。2.body:不包含標記刪除,但刪除其所有的孩子。3.tag:包含標記的刪除,但不刪除它的孩子。4.all-but-first:刪除所有包含標簽的孩子,除了第一個。5.none:什么也不做。這個值是有用的動態評估。
th:attr設置標簽屬性,多個屬性可以用逗號分隔比如?th:attr="src=@{/image/aa.jpg},title=#{logo}",此標簽不太優雅,一般用的比較少。

html5的操作支持:

th:abbr th:accept th:accept-charset th:accesskey th:action th:align th:alt th:archive th:audio th:autocomplete th:axis th:background th:bgcolor th:border th:cellpadding th:cellspacing th:challenge th:charset th:cite th:class th:classid th:codebase th:codetype th:cols th:colspan th:compact th:content th:contenteditable th:contextmenu th:data th:datetime th:dir th:draggable th:dropzone th:enctype th:for th:form th:formaction th:formenctype th:formmethod th:formtarget th:fragment th:frame th:frameborder th:headers th:height th:high th:href th:hreflang th:hspace th:http-equivth:icon th:id th:inline th:keytype th:kind th:label th:lang th:list th:longdesc th:low th:manifest th:marginheight th:marginwidth th:max th:maxlength th:media th:method th:min th:name th:onabort th:onafterprint th:onbeforeprint th:onbeforeunload th:onblur th:oncanplay th:oncanplaythrough th:onchange th:onclick th:oncontextmenu th:ondblclick th:ondrag th:ondragend th:ondragenter th:ondragleave th:ondragover th:ondragstart th:ondrop th:ondurationchange th:onemptied th:onended th:onerror th:onfocus th:onformchange th:onforminput th:onhashchange th:oninput th:oninvalid th:onkeydown th:onkeypress th:onkeyup th:onload th:onloadeddata th:onloadedmetadata th:onloadstart th:onmessage th:onmousedown th:onmousemove th:onmouseout th:onmouseover th:onmouseup th:onmousewheel th:onoffline th:ononline th:onpause th:onplay th:onplaying th:onpopstate th:onprogress th:onratechange th:onreadystatechange th:onredo th:onreset th:onresize th:onscroll th:onseeked th:onseeking th:onselect th:onshow th:onstalled th:onstorage th:onsubmit th:onsuspend th:ontimeupdate th:onundo th:onunload th:onvolumechange th:onwaiting th:optimum th:pattern th:placeholder th:poster th:preload th:radiogroup th:rel th:rev th:rows th:rowspan th:rules th:sandbox th:scheme th:scope th:scrolling th:size th:sizes th:span th:spellcheck th:src th:srclang th:standby th:start th:step th:style th:summary th:tabindex th:target th:title th:type th:usemap th:value th:valuetype th:vspace th:width th:wrapth:vspace th:width th:wrap th:xmlbase th:xmllang th:xmlspace

布爾類型

th:async th:autofocus th:autoplay th:checked th:controls th:declare th:default th:defer th:disabled th:formnovalidate th:hidden th:ismap th:loop th:multiple th:novalidate th:nowrap th:open th:pubdate th:readonly th:required th:reversed th:scoped th:seamless th:selected

?

三.???? ?thymeleaf設置屬性值:

(1)th:text

可對表達式或變量求值,并將結果顯示在其被包含的 html 標簽體內替換原有html文本

文本鏈接: 用 “+”符號,若是變量表達式也可以用“|”符號.

(2)th:utext

e.g.

若home.welcome=Welcome to our <b>fantastic</b> grocery store!

?? 用<p th:text="#{home.welcome}"></p>解析結果為:

?? <p>Welcome to our &lt;b&gt;fantastic&lt;/b&gt; grocery store!</p>

解決方案

<p th:utext="#{home.welcome}"></p>即可。

等效于<p>Welcome to our <b>fantastic</b> grocery store!</p>

(3)th:href

@{xxx} :鏈接url的表達式

th: attr 用于設置任意屬性。

th: value用于設置value屬性值。

?

th:action設置action屬性。

?

2.????同時設置多個值

?

th:alt-title用于設置alt和title。

?

th:lang-xmllang用于設置lang和xml:lang。

?

3.?????附加和添加前綴

?

th:attrappend和th:attrprepend用于附加和添加前綴屬性。

?

4.?????固定值布爾屬性

四.迭代器(iter)與條件語句

1.th:each將循環array或list中的元素并重復打印一組標簽,語法相當于Java foreach表達式。

可以用th:each屬性進行遍歷的對象如下。

(1)????? 任何實現Java.util.Iterable的對象。

(2)????? 任何實現Java.util.Enumeration的對象。

(3)????? 任何實現Java.util.Iterator的對象,其值將被迭代器返回,而不需要在內存中緩存所有的值。

(4)????? 任何實現Java.util.Map的對象。迭代映射時,迭代變量將是Java.util.Map.Entry類。

(5)????? 任何數組。

(6)????? 任何其他對象將被視為包含對象本身的單值列表。

2.狀態變量

提供狀態變量來跟蹤迭代器狀態。

判斷操作(實例)

thymeleaf提供了幾種判斷,if、switch

<table><thead><th></th></thead><tbody><tr th:each="test:${test}"><!--判斷成績--><td th:if="${test.Score} gt 0 and ${test.Score} lt 60">差</td><td th:if="${test.Score} ge 60 and ${test.Score} le 70">中</td><td th:if="${test.Score} gt 70 and ${test.Score} le 80">良</td><td th:if="${test.Score} gt 80 and ${test.Score} le 90">優</td><td th:if="${test.Score} gt 90 and ${test.Score} le 100">超級優秀</td></tr><br><tr th:each="test:${test}"><!--判斷成績 一般只有兩種情況的時候可以使用這種方式--><td th:if="${test.Score} gt 0 and ${test.Score} lt 60">差</td><!--除了這些條件之外的--><td th:unless="${test.Score} gt 0 and ${test.Score} lt 60">及格</td></tr><tr th:each="test:${test}"><td th:switch="${test.male}"><span th:case="1">男</span><span th:case="2">女</span><!--其他情況--><span th:case="*">未知</span></td></tr></tbody></table>

?

?結果顯示:

差?
中?
超級優秀

差?
及格?
及格

男?

th:each屬性中定義如下狀態變量。

(1)????? index屬性是當前“迭代器引擎”,從0開始。

(2)????? count屬性是當前“迭代器索引”,從1開始。

(3)????? size 屬性是迭代器元素的總數。

(4)????? current 是當前“迭代變量”。

(5)????? even/odd判斷當前迭代器是否為even或odd。

(6)????? first判斷當前迭代器是否為第一個。

(7)????? last判斷當前迭代器是否為最后。

3.條件語句

(1)if和unless

支持下列規則判斷

<1>值不為null

? ? ?<1.1>布爾類型且為true;

?????????? <1.2>非0數字;

? ? ? <1.3>非0字符;

?????????? <1.4>非“false”, “off” or “no”字符串;

?????????? <1.5>判斷值不為布爾值,數字,字符,字符串

????????? 結果為true

<2>值為null,結果為false

(2)switch語句

Switch語句使用th:switch與th:case屬性集合來實現。

一旦有一個th:case對應結果為true,其他均為false;

默認值語法為:? th:case=”*”

幾種常用的使用方法

1、賦值、字符串拼接

<p th:text="${collect.description}">description</p><span th:text="'Welcome to our application, ' + ${user.name} + '!'">

字符串拼接還有另外一種簡潔的寫法

<span th:text="|Welcome to our application, ${user.name}!|">

2、條件判斷 If/Unless

Thymeleaf中使用th:if和th:unless屬性進行條件判斷,下面的例子中,<a>標簽只有在th:if中條件成立時才顯示:

<a th:if="${myself=='yes'}" > </i> </a> <a th:unless=${session.user != null} th:href="@{/login}" >Login</a>

th:unless于th:if恰好相反,只有表達式中的條件不成立,才會顯示其內容。

也可以使用?(if) ? (then) : (else)?這種語法來判斷顯示的內容

3、for 循環

<tr th:each="collect,iterStat : ${collects}"> <th scope="row" th:text="${collect.id}">1</th><td ><img th:src="${collect.webLogo}"/></td><td th:text="${collect.url}">Mark</td><td th:text="${collect.title}">Otto</td><td th:text="${collect.description}">@mdo</td><td th:text="${terStat.index}">index</td></tr>

?

渲染列表數據是一種非常常見的場景,例如現在有n條記錄需要渲染成一個表格

,該數據集合必須是可以遍歷的,使用th:each標簽:

<body><h1>Product list</h1><table><tr><th>NAME</th><th>PRICE</th><th>IN STOCK</th></tr><tr th:each="prod : ${prods}"><td th:text="${prod.name}">Onions</td><td th:text="${prod.price}">2.41</td><td th:text="${prod.inStock}? #{true} : #{false}">yes</td></tr></table><p><a href="../home.html" th:href="@{/}">Return to home</a></p> </body>

可以看到,需要在被循環渲染的元素(這里是)中加入th:each標簽,其中th:each=”prod : ${prods}”意味著對集合變量prods進行遍歷,循環變量是prod在循環體中可以通過表達式訪問。

?

循環下標判

iterStat稱作狀態變量,屬性有:

  • index:當前迭代對象的index(從0開始計算)
  • count: 當前迭代對象的index(從1開始計算)
  • size:被迭代對象的大小
  • current:當前迭代變量
  • even/odd:布爾值,當前循環是否是偶數/奇數(從0開始計算)
  • first:布爾值,當前循環是否是第一個
  • last:布爾值,當前循環是否是最后一個
  • <th:block th:each="mylist,iterStat:${list}">111<span th:text="${mylist}"></span><th:block th:if="${iterStat.index le 1}"><span th:text="${mylist}"></span></th:block> </th:block>

?

下拉選擇

<select name="subId" id="subId" lay-verify="" ><option value="">請選擇</option><option th:each="channelsub:${subchannels}" th:selected="${channelsub.id == subId}" th:value="${channelsub.id}" th:text="${channelsub.name}"></option></select>

?

4、URL

URL在Web應用模板中占據著十分重要的地位,需要特別注意的是Thymeleaf對于URL的處理是通過語法@{…}來處理的。 如果需要Thymeleaf對URL進行渲染,那么務必使用th:href,th:src等屬性,下面是一個例子

<!-- Will produce 'http://localhost:8080/standard/unread' (plus rewriting) --><a th:href="@{/standard/{type}(type=${type})}">view</a><!-- Will produce '/gtvg/order/3/details' (plus rewriting) --> <a href="details.html" th:href="@{/order/{orderId}/details(orderId=${o.id})}">view</a>

設置背景

<div th:style="'background:url(' + @{/<path-to-image>} + ');'"></div>

根據屬性值改變背景

<div class="media-object resource-card-image" th:style="'background:url(' + @{(${collect.webLogo}=='' ? 'img/favicon.png' : ${collect.webLogo})} + ')'" ></div>

幾點說明:

  • 上例中URL最后的(orderId=${o.id})?表示將括號內的內容作為URL參數處理,該語法避免使用字符串拼接,大大提高了可讀性
  • @{...}表達式中可以通過{orderId}訪問Context中的orderId變量
  • @{/order}是Context相關的相對路徑,在渲染時會自動添加上當前Web應用的Context名字,假設context名字為app,那么結果應該是/app/order

5、內聯js

內聯文本:[[…]]內聯文本的表示方式,使用時,必須先用th:inline=”text/javascript/none”激活,th:inline可以在父級標簽內使用,甚至作為body的標簽。內聯文本盡管比th:text的代碼少,不利于原型顯示。

<script th:inline="javascript"> /*<![CDATA[*/ ... var username = /*[[${sesion.user.name}]]*/ 'Sebastian'; var size = /*[[${size}]]*/ 0; ... /*]]>*/ </script>

js附加代碼:

/*[+ var msg = 'This is a working application'; +]*/

js移除代碼:

/*[- */ var msg = 'This is a non-working template'; /* -]*/

6、內嵌變量

為了模板更加易用,Thymeleaf還提供了一系列Utility對象(內置于Context中),可以通過#直接訪問:

?下面用一段代碼來舉例一些常用的方法:

?dates

?

  • dates :?java.util.Date的功能方法類。
  • calendars :?類似#dates,面向java.util.Calendar
  • numbers :?格式化數字的功能方法類
  • strings :?字符串對象的功能類,contains,startWiths,prepending/appending等等。
  • objects:?對objects的功能類操作。
  • bools:?對布爾值求值的功能方法。
  • arrays:對數組的功能類方法。
  • lists:?對lists功能類方法
  • sets
  • maps
/** Format date with the specified pattern* Also works with arrays, lists or sets*/ ${#dates.format(date, 'dd/MMM/yyyy HH:mm')} ${#dates.arrayFormat(datesArray, 'dd/MMM/yyyy HH:mm')} ${#dates.listFormat(datesList, 'dd/MMM/yyyy HH:mm')} ${#dates.setFormat(datesSet, 'dd/MMM/yyyy HH:mm')}/** Create a date (java.util.Date) object for the current date and time*/ ${#dates.createNow()}/** Create a date (java.util.Date) object for the current date (time set to 00:00)*/ ${#dates.createToday()} /** Check whether a String is empty (or null). Performs a trim() operation before check* Also works with arrays, lists or sets*/ ${#strings.isEmpty(name)} ${#strings.arrayIsEmpty(nameArr)} ${#strings.listIsEmpty(nameList)} ${#strings.setIsEmpty(nameSet)}/** Check whether a String starts or ends with a fragment* Also works with arrays, lists or sets*/ ${#strings.startsWith(name,'Don')} // also array*, list* and set* ${#strings.endsWith(name,endingFragment)} // also array*, list* and set*/** Compute length* Also works with arrays, lists or sets*/ ${#strings.length(str)}/** Null-safe comparison and concatenation*/ ${#strings.equals(str)} ${#strings.equalsIgnoreCase(str)} ${#strings.concat(str)} ${#strings.concatReplaceNulls(str)}/** Random*/ ${#strings.randomAlphanumeric(count)}

?

五.thymeleaf模板片段

1.定義和引用片段

(1)定義片段屬性用:?? th:fragment

fragment片段定義語法

如th:fragment=”copy”這樣就定義了一個名為copy的fragment

模板操作

主要引入公共頭部和底部相關代碼使用 ,當然也可以其他地方使用?
- 示例

底部模板代碼

<!DOCTYPE html> <html lang="en" xmlns:th="http://www.w3.org/1999/xhtml"> <body> <div th:fragment="footer">? 2016 xxx </div> </body> </html>

Springboot整合引入模塊

<!--寫入絕對路徑即可引入 --> <div th:include="/back/import/footer :: footer"></div>

?

th:include:將fragment的內容包含進來

th:replace:用fragment替換掉所在標簽

(2)引用片段?? th:insert 或 th:replace 屬性

(3)th:include 類似于th:insert 但不是插入片段,它只插入此片段的”內容“。

注:th:insert 需要一個”片段表達式”(~{…})

th:remove

? 一般用于將模擬數據在真實環境中移除

?? <1>all-移除標簽及標簽內容

?? <2>body-只移除內容

?? <3>tag-只移除所在標簽

?? <4>all-but-first-除第一條外移除所有內容

?? <5>none-donothing.

th:width

定義局部變量

1.可一次定義多個,逗號分隔

外圍包裹–block

有時候需要在代碼外部加層條件,但寫div之類的又影響樣式,此情況下你可以用下面這種方式:

<th:block th:with="score=${test.Score}"><td th:if="${score} ge 60">及格啦</td></th:block>

使用thymeleaf布局

使用thymeleaf布局非常的方便

定義代碼片段

<footer th:fragment="copy"> &copy; 2016 </footer>

在頁面任何地方引入:

<body> <div th:include="footer :: copy"></div><div th:replace="footer :: copy"></div></body>

th:include 和 th:replace區別,include只是加載,replace是替換

返回的HTML如下:

<body> <div> &copy; 2016 </div> <footer>&copy; 2016 </footer> </body>

下面是一個常用的后臺頁面布局,將整個頁面分為頭部,尾部、菜單欄、隱藏欄,點擊菜單只改變content區域的頁面

<body class="layout-fixed"><div th:fragment="navbar" class="wrapper" role="navigation"><div th:replace="fragments/header :: header">Header</div><div th:replace="fragments/left :: left">left</div><div th:replace="fragments/sidebar :: sidebar">sidebar</div><div layout:fragment="content" id="content" ></div><div th:replace="fragments/footer :: footer">footer</div></div> </body>

任何頁面想使用這樣的布局值只需要替換中見的 content模塊即可

<html xmlns:th="http://www.thymeleaf.org" layout:decorator="layout"><body><section layout:fragment="content">...

也可以在引用模版的時候傳參

<head th:include="layout :: htmlhead" th:with="title='Hello'"></head>

layout 是文件地址,如果有文件夾可以這樣寫 fileName/layout:htmlhead
htmlhead 是指定義的代碼片段 如?th:fragment="copy"

六.表達式基本對象

1.基本對象

(1)#ctx:上下文對象。

(2)#locale:直接訪問與java.util.Locale關聯的當前的請求。

2.web上下文命名空間

(1)param:用于檢索請求參數。

(2)session:用于檢索會話屬性。

(3)application:用于檢索應用及上下文屬性。

3.web上下文對象

(1)#request:直接訪問與當前請求關聯的javax.servlet.http.HttpServletRequest對象。

(2)#session:直接訪問與當前請求關聯的javax.servlet.http.HttpSession對象。

(3)#servletContext:直接訪問與當前請求關聯的javax.servlet.ServletContext對象。

七.模板注釋

1.標準 HTML/XML注釋

??語法:<!--???? -->??

? 2.解析器級注釋塊(Parser-level comment blocks)

???? 語法:<!--/*??? */-->

????? thymeleaf解析時會移除代碼

???? 單行:<!--/*? xxxxx? */-->

???? 雙行

?????????? <!--/*-->

?????????? Xxxxxx

?????????? Xxxxxx

????????? <!--*/-->

3.針對原型的注釋

語法:<!--/*/??? /*/-->

thymealeaf解析時會移除掉此標簽對,但不會移除其中的內容

4.與th:block結合

thymealeaf解析時會移除掉此標簽對,但不會移除其中的內容

內聯

[[...]]是內聯文本的表示格式,但需要使用th:inline屬性(分為text,javascript,none)激活.

1.文本內聯

??? <p th:inline="text">Hello, [[${session.user.name}]]!</p>

?? 2.腳本內聯

???? <script th:inline="javascript">

????? /*<![CDATA[*/

???????? ...

??????? var username = /*[[${session.user.name}]]*/ 'Sebastian';

??????? ...

????? /*]]>*/

???? </script>

Note:

1.腳本注釋/* */中的內容會在瀏覽器端靜態打開頁面時被忽略

2.thymeleaf解析模板時會把后面的文本'Sebastian'移除.

javascript內聯時特性

<1>javascript附加代碼

語法:/*[+?? +]*/?

/*[+

var msg? = 'This is a working application';

+]*/

<2>javascript移除代碼

語法:/*[- */??? /* -]*/

/*[- */

var msg? = 'This is a non-working template';

/* -]*/

?

?

總結

以上是生活随笔為你收集整理的spring boot 中用到的thymeleaf (模板引擎)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

色综合久久五月天 | www.亚洲精品视频 | av在线8 | 欧美人牲 | 麻豆影视在线免费观看 | 中文在线www | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 人人干人人添 | 日韩国产欧美在线播放 | 国产精品美女网站 | 手机在线黄色网址 | 久久99精品国产麻豆宅宅 | 欧美夫妻性生活电影 | 亚洲精品av中文字幕在线在线 | 国产精品18久久久久久不卡孕妇 | 91在线视频导航 | 国产精品日韩 | 国产手机在线精品 | 在线视频1卡二卡三卡 | 国产尤物在线 | 97理论电影| 91麻豆精品国产91 | 国产精品久久久网站 | 在线观看免费福利 | 激情五月在线视频 | 91av片| 成人av免费在线 | 日韩av伦理片 | 福利一区二区在线 | 久久精品爱爱视频 | 精品国产欧美一区二区 | 亚洲 欧洲 国产 日本 综合 | 国产成人免费网站 | 久操视频在线免费看 | 日韩午夜精品 | 日韩av中文在线 | 精品久久综合 | 成人av电影在线 | 欧洲不卡av | 国产理论免费 | 缴情综合网五月天 | 一区二区精品久久 | 日韩视频在线不卡 | 成人毛片久久 | 欧美日韩国产精品久久 | 国产精品v欧美精品v日韩 | 久久精品首页 | 99精品黄色片免费大全 | 在线看国产一区 | 国产视频久| 波多野结衣在线观看一区二区三区 | 免费在线国产 | 国产精品一区二区三区免费视频 | 国产精品亚洲片在线播放 | 在线免费成人 | 国产短视频在线播放 | 国产午夜三级 | 国产在线一线 | 久久三级毛片 | 日韩欧美精品在线观看 | 日韩天天综合 | 久久久久网站 | 亚洲成人精品在线 | 国产在线观看免费观看 | 不卡的av电影在线观看 | www色综合| 国产精品免费看久久久8精臀av | 久久电影色| 国产精品一区二 | 97精品国自产拍在线观看 | 日韩精品在线视频免费观看 | 超碰人人草 | 国产精品 视频 | 黄a在线看 | 在线观看亚洲国产精品 | 91在线免费公开视频 | 成人在线视频一区 | 精品欧美乱码久久久久久 | 久久综合久久综合九色 | 色姑娘综合 | 黄色免费网站 | 亚洲国产成人精品在线观看 | 操操操干干干 | 久久dvd | 国产第一页精品 | 91看片在线 | 日韩av男人的天堂 | 97视频人人免费看 | 九九九九热精品免费视频点播观看 | 亚洲精品18p| 97视频在线 | 国产一区国产二区在线观看 | 91九色蝌蚪视频 | 免费网站在线观看人 | 色综合色综合久久综合频道88 | 看黄色.com| 国产高清永久免费 | 美女搞黄国产视频网站 | 69视频在线 | 亚洲精品黄色在线观看 | 丁香视频免费观看 | 日韩 精品 一区 国产 麻豆 | 婷婷中文字幕在线观看 | 激情婷婷久久 | 国产高清视频免费观看 | 久久国产成人午夜av影院潦草 | 操操综合网 | 美女视频黄在线 | 国产精品久久三 | mm1313亚洲精品国产 | 99视频| www.夜夜草 | 精品欧美在线视频 | 国产精品免费不 | 久久精品久久精品 | 婷婷丁香九月 | 亚洲国产精品推荐 | 五月宗合网 | 国产精品久久久久久久久久久杏吧 | 亚洲欧洲中文日韩久久av乱码 | 日韩欧美一区二区三区视频 | 久久免费99 | 国产淫片免费看 | 日本精品一二区 | 亚洲国产小视频在线观看 | 综合久久精品 | 国产99黄 | 日日夜夜草 | 91久久久久久久一区二区 | 手机在线观看国产精品 | 精品夜夜嗨av一区二区三区 | 亚洲国产一区av | av不卡免费在线观看 | 三级动图 | 天天干天天操天天拍 | av资源免费观看 | 国产精品av在线免费观看 | 极品嫩模被强到高潮呻吟91 | 国产精品一区二区三区久久久 | a级片久久久 | 日韩va欧美va亚洲va久久 | 免费h视频 | 久久99热这里只有精品国产 | 一区二区三区免费在线 | a在线观看免费视频 | 日韩欧美在线中文字幕 | 在线观看日韩国产 | 成人在线视频免费观看 | 欧美aa在线观看 | www.黄色片网站| 在线播放精品一区二区三区 | 久久久久久久久久国产精品 | 日韩欧美在线免费 | 福利网址在线观看 | www婷婷 | 丁香婷婷色综合亚洲电影 | 婷婷网在线 | 国产艹b视频 | 91精品在线播放 | 日韩一级成人av | 亚洲精品在 | 成人黄色小说网 | 中文字幕精品一区二区三区电影 | 欧洲一区二区三区精品 | 91综合色| 久久国产精品系列 | 中文字幕在线日本 | 久久区二区 | 97热视频 | 精品在线视频一区 | 欧美日韩国产二区 | 亚洲va在线va天堂va偷拍 | 日韩在线网址 | 日韩高清一区二区 | 久要激情网 | 亚洲欧洲美洲av | 美女视频黄免费网站 | а天堂中文最新一区二区三区 | 999久久久 | 伊人天天综合 | 人人讲 | 在线观看中文字幕视频 | 中文一区在线 | 色婷婷精品大在线视频 | 五月婷婷播播 | www.久草.com| 国产成人精品av在线观 | 免费在线观看午夜视频 | 午夜精品久久久久久久久久久 | 国产精品观看在线亚洲人成网 | 亚洲精品一区二区三区四区高清 | 中文字幕有码在线 | 久久这里精品视频 | 精品一区二区三区久久久 | 在线观看av不卡 | 97国产视频| 99久久99视频只有精品 | 97成人资源站 | 日韩免费专区 | 国产无限资源在线观看 | 91私密视频 | 久久只精品99品免费久23小说 | 亚洲精品黄色在线观看 | 成年人视频在线免费播放 | 草久在线播放 | 免费色视频在线 | 亚洲国产精品成人av | 亚洲精品tv久久久久久久久久 | 久精品视频| 久草精品免费 | 天天色天 | 婷婷在线免费观看 | 在线观看亚洲视频 | 天天玩天天干 | 国产精品成人av电影 | 日本中文字幕在线观看 | 色综合久久久久网 | 日韩精品欧美视频 | 婷婷六月丁| 超级碰碰碰视频 | 国产无遮挡猛进猛出免费软件 | 特级西西444www大胆高清无视频 | 99精品国产一区二区三区麻豆 | 在线观看国产区 | 免费网址你懂的 | 国产永久免费观看 | 成人久久电影 | 国产日韩在线视频 | 久久亚洲精品电影 | 欧美日韩精品在线观看 | 综合精品久久久 | 在线看日韩av | 制服丝袜成人在线 | 黄色影院在线播放 | 中文有码在线 | 狠狠狠狠狠狠操 | 精品久久久久久久久久久久久久久久久久 | 欧美日韩免费观看一区二区三区 | wwxxx日本| 婷婷综合导航 | 日韩va欧美va亚洲va久久 | 九九热在线播放 | 在线观看视频黄色 | 狠狠狠狠狠狠 | 国产欧美日韩视频 | 国产精品免费视频网站 | 久久成人一区 | 在线视频 影院 | 十八岁以下禁止观看的1000个网站 | 国产91精品看黄网站 | 国产色黄网站 | 亚洲成人资源 | 日韩成人免费观看 | 亚洲人久久 | 丁香五月网久久综合 | 99视频精品全部免费 在线 | 国产不卡在线观看 | 中文字幕在线字幕中文 | 91亚瑟视频 | 亚洲午夜精 | 国产高清成人av | 天天做天天爱天天爽综合网 | 国产精品99页 | 91成人午夜 | 日本久久电影网 | 亚洲成人软件 | av在线播放中文字幕 | 午夜美女wwww | 免费视频国产 | 久草在线中文视频 | 久久免费视频在线观看6 | 亚洲va韩国va欧美va精四季 | 久久最新网址 | 在线国产日韩 | 五月天久久久久久 | 日日躁你夜夜躁你av蜜 | 在线看一区二区 | 国产粉嫩在线 | 国内精品毛片 | 国产中文字幕免费 | 天天草天天草 | 中文字幕在线免费97 | 久草网站在线观看 | 久久国产精品一国产精品 | av青草| 免费高清在线观看成人 | 欧美激情视频在线观看免费 | 在线a亚洲视频播放在线观看 | 日操操| 午夜精品久久久久久久99水蜜桃 | 成人黄色片在线播放 | 免费在线视频一区二区 | 国产在线小视频 | 亚洲国产成人久久 | 日日夜夜人人天天 | 玖玖玖国产精品 | 精品久久久久久综合日本 | 久久久久久久久久久免费 | 国产精品3 | 狠狠亚洲 | 日韩欧美精品一区二区 | 日韩欧美视频免费在线观看 | 色综合中文字幕 | 欧美小视频在线 | 国产女人40精品一区毛片视频 | 精品一区 精品二区 | 天天天射 | 国产在线91在线电影 | 99视频 | 亚洲一区 影院 | 成人久久视频 | 久久综合五月天婷婷伊人 | 国产无区一区二区三麻豆 | 69国产在线观看 | 久久久噜噜噜久久久 | 国产精品2区 | 天天夜夜狠狠操 | a视频在线播放 | av免费观看高清 | 国产韩国日本高清视频 | 日韩区欠美精品av视频 | 国产糖心vlog在线观看 | www黄色软件 | 久要激情网| 亚洲激情网站免费观看 | 日韩欧美一区二区三区视频 | 成人av免费网站 | 精品亚洲欧美无人区乱码 | 99免费精品视频 | 国产精品久久久亚洲 | 精品av网站 | 最近中文字幕第一页 | 日韩有码中文字幕在线 | 免费看黄色小说的网站 | 欧美美女一级片 | 亚洲首页| 91九色国产 | 欧美一区视频 | 久草香蕉在线视频 | 国产精品扒开做爽爽的视频 | 91精品国产自产在线观看永久 | 日本高清免费中文字幕 | 99精品久久久 | 超碰97免费在线 | 国产成人综 | 日韩免费观看av | 黄在线| 美女视频一区 | 91av社区| 免费观看性生交 | 一区二区三区在线视频观看58 | 亚洲免费av在线播放 | 国产成人av在线影院 | 国产喷水在线 | 在线看毛片网站 | 国产青春久久久国产毛片 | 国产精品18久久久久久首页狼 | 一级欧美一级日韩 | 精品国产免费久久 | 亚洲国产丝袜在线观看 | 亚洲经典中文字幕 | 免费看片网站91 | 日本三级在线观看中文字 | 久草精品电影 | 久久久精品国产免费观看同学 | 91亚洲夫妻| 久久国产成人午夜av影院宅 | 欧美影片 | 久久超级碰视频 | 中文字幕字幕中文 | 欧美一级久久久 | 色福利网 | 狠狠干网 | 美女在线观看网站 | 免费观看成年人视频 | 国产成人久久久77777 | 久久久久久久久久久久电影 | 日韩网站中文字幕 | 美女黄网久久 | 一区二区三区在线观看免费 | 免费观看特级毛片 | 久久精品日产第一区二区三区乱码 | 国产九九九九九 | 一区二区三区视频网站 | 伊人色播| 日本99干网 | 最新国产精品拍自在线播放 | 免费一级黄色 | 一级性生活片 | 在线观看蜜桃视频 | www.婷婷色 | 色狠狠一区二区 | 精品一区精品二区高清 | 欧美整片sss| 夜色资源网 | 国产视频午夜 | 免费电影一区二区三区 | 99热 精品在线 | 国产在线精品国自产拍影院 | 成人国产精品入口 | 精品视频不卡 | 2019中文最近的2019中文在线 | 亚洲黄色在线播放 | 97香蕉超级碰碰久久免费软件 | 国产在线观看免费观看 | 国产成人香蕉 | 日韩午夜一级片 | 五月av在线 | 国产精品欧美一区二区 | 九九热久久久 | 国产一区二区成人 | 最新国产在线 | 中文字幕精品三区 | 久久国产综合视频 | 久草视频免费 | 天天插日日射 | av高清不卡 | 国产偷国产偷亚洲清高 | 蜜臀av夜夜澡人人爽人人桃色 | 久久视频国产精品免费视频在线 | 一区二区三区在线观看免费 | 亚洲毛片一区二区三区 | 伊人永久 | 夜夜操夜夜干 | 亚洲成人av一区二区 | 久久国色夜色精品国产 | 亚洲美女免费精品视频在线观看 | av一级片在线观看 | 97香蕉久久超级碰碰高清版 | 成人午夜影院 | 国产欧美最新羞羞视频在线观看 | 国产在线va | 久草在线高清视频 | 国产成人福利片 | 久久久福利视频 | 在线日本看片免费人成视久网 | 中文字幕日韩精品有码视频 | 亚洲精品男人天堂 | 久久96国产精品久久99软件 | 日韩av电影中文字幕在线观看 | 一区中文字幕 | 蜜臀精品久久久久久蜜臀 | 在线观看国产区 | 黄色一区二区在线观看 | 久久久久久久久久久久99 | 夜夜躁狠狠躁日日躁视频黑人 | 日韩视频在线不卡 | 成人午夜影视 | 91视频在线免费观看 | 日韩欧美黄色网址 | 久久久久中文 | 欧美国产亚洲精品久久久8v | 三级午夜片 | 亚洲国内在线 | 亚洲毛片在线观看. | 亚洲成免费 | 亚洲欧洲xxxx| 视频一区二区在线 | 99自拍视频在线观看 | 精品国产精品久久一区免费式 | 成人精品视频久久久久 | 欧美一区二区三区不卡 | 99精品在线观看视频 | 中文字幕黄色网址 | 亚洲精品1234区 | 国产人成一区二区三区影院 | 99电影| 在线看一区 | 亚洲国产精品影院 | 在线免费观看一区二区三区 | 韩国一区二区三区在线观看 | 日韩av在线网站 | 91最新在线 | 色永久免费视频 | 久久久久日本精品一区二区三区 | 欧美日韩亚洲一 | 高清av网站 | www.狠狠干 | 久久久久久久久久久久国产精品 | 日韩资源在线播放 | 亚洲精品在线免费播放 | 超碰成人av | 国产成人精品av在线观 | 国产直播av | 国产视频每日更新 | 欧美精品亚洲精品日韩精品 | 天天干天天草天天爽 | 日韩中文久久 | 精品一区 在线 | 久久久久激情视频 | 日韩精品一区二区不卡 | 久热av| 亚洲精品1区2区3区 超碰成人网 | 国产一级黄大片 | 亚洲另类久久 | 中文字幕在线免费97 | 天天爱天天操天天干 | 日韩在线高清 | 91精品国产92久久久久 | 国产精品第52页 | 欧美日韩网站 | 国产精品久久久视频 | 精品久久久久久久久久国产 | 色资源网免费观看视频 | 在线播放av网址 | 亚洲成人家庭影院 | 亚洲精品人人 | 婷婷婷国产在线视频 | 最近中文字幕在线中文高清版 | av女优中文字幕在线观看 | 久久综合国产伦精品免费 | 国产高清综合 | 九九热视频在线 | 国产精品99久久久 | 久久私人影院 | 免费看精品久久片 | 婷婷在线精品视频 | 久久99影院 | 日韩精品视频一二三 | 欧美在线free| 欧美日本一区 | 欧美日韩高清在线 | 天堂av免费在线 | 国产精品久免费的黄网站 | 日韩一级黄色av | 日韩在线视频网 | 免费在线观看国产黄 | 成人av网页 | 天天插夜夜操 | 精品久久久久久久久久久久久久久久久久 | 深夜男人影院 | 日韩成人精品一区二区三区 | 久久久亚洲国产精品麻豆综合天堂 | 国产午夜一级毛片 | 热精品| 日韩免费一二三区 | 五月天亚洲综合 | 天天爽夜夜爽人人爽曰av | 日韩美女一级片 | 日本久久精品视频 | 91在线小视频 | 国产黄色大片 | 亚洲,国产成人av | 欧美二区视频 | 国产精品第二十页 | 999久久国产 | 国产日韩三级 | 一区二区三区四区免费视频 | 国产精品久久久久免费 | 亚洲乱码中文字幕综合 | 亚洲国产人午在线一二区 | 丁香色综合 | 91视频免费国产 | 日韩一区二区三区免费电影 | 天天干天天综合 | 亚洲国产天堂av | 香蕉视频在线看 | 婷婷爱五月天 | 91精品视频网站 | 国产资源在线观看 | 91九色性视频| 国产高清日韩欧美 | 精品产品国产在线不卡 | 日韩在观看线 | 天天艹天天操 | 99久久精品国产免费看不卡 | 精品国产乱码久久久久久天美 | 99久久国产免费,99久久国产免费大片 | 久久亚洲视频 | 亚洲激情校园春色 | 久久亚洲私人国产精品va | 久久av影院| 人人操日日干 | 欧美成人亚洲成人 | 一区二区在线不卡 | av免费看av | 一区二区精品视频 | 久草免费手机视频 | www.国产在线 | 久久se视频| 日日草av | 亚洲国产精品久久 | 亚洲精品视频二区 | 精品免费久久 | 国产高清视频在线播放 | 国色天香在线观看 | 玖玖爱免费视频 | 中文字幕丝袜一区二区 | 日韩有码欧美 | 人人干干人人 | 国产午夜麻豆影院在线观看 | 国产色道| 综合色中色 | 日韩黄在线观看 | 欧美专区亚洲专区 | 91视频在线自拍 | 国内丰满少妇猛烈精品播 | 中文字幕乱码亚洲精品一区 | 久久手机看片 | 91少妇精拍在线播放 | 免费在线播放av电影 | 国产女人免费看a级丨片 | 亚洲天堂精品视频 | 91尤物国产尤物福利在线播放 | 国产资源在线播放 | 正在播放国产一区二区 | 日韩特黄一级欧美毛片特黄 | 四虎影视国产精品免费久久 | 欧美综合久久 | 在线观看久久 | 日韩特级片 | 国产精品嫩草69影院 | 欧美a级成人淫片免费看 | 亚洲视频精品 | 婷婷丁香花五月天 | 91在线网站| 国产又粗又猛又爽又黄的视频先 | 欧美精品一区二区蜜臀亚洲 | 国产第一页在线观看 | 久久久国产精品一区二区三区 | 天天操天天射天天操 | 亚洲综合视频在线播放 | 免费在线观看的av网站 | 丁香婷婷激情啪啪 | 99久久精品无免国产免费 | 欧美精品一二 | 色综合久久中文综合久久牛 | 97超碰人人澡人人爱 | 中文字幕乱码一区二区 | 亚洲综合欧美精品电影 | av黄色在线播放 | 国产91精品看黄网站在线观看动漫 | 精品人妖videos欧美人妖 | 国产色视频网站2 | 亚洲国产成人精品在线观看 | 亚洲美女视频在线观看 | 欧美久久久一区二区三区 | 免费中文字幕 | 天天综合日| 欧美aaa大片| 色在线免费 | 日韩在观看线 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 中文视频在线播放 | 中文字幕在线观看网址 | 视频在线日韩 | 夜夜骑天天操 | 国产在线不卡一区 | 久久任你操| 天天色天天干天天 | 亚洲成人av一区 | 天天射射天天 | 天天操天天吃 | 亚洲精品免费在线视频 | 超碰在线人人草 | 国产黄大片 | 91在线www| 免费网站看av片 | 久久精品老司机 | 久久精品视频免费播放 | 夜夜夜影院| 欧美成人精品三级在线观看播放 | 国产精品久久久久久久久久久久冷 | 久久久久久毛片精品免费不卡 | 国产五月色婷婷六月丁香视频 | av片子在线观看 | www.黄色| 高潮久久久久久久久 | 综合色影院 | a级国产片 | 亚洲婷婷免费 | 精品亚洲一区二区 | 丁香av| 亚洲免费成人av电影 | 国产69精品久久久久久 | 又黄又网站 | av电影中文字幕 | 中文字幕一区二区三区四区视频 | 69国产在线观看 | 国产精品11| 在线观看中文字幕一区二区 | 日韩专区视频 | av在线播放网址 | 五月婷网站| 在线免费观看一区二区三区 | 中文字幕亚洲欧美 | 二区三区视频 | 色视频网站免费观看 | 久久黄色小说视频 | 日本中文字幕视频 | 国产高清精 | 激情av网 | 在线看中文字幕 | 人人爽人人射 | 亚洲美女视频网 | 色香蕉在线视频 | 麻豆免费在线播放 | 五月天婷婷在线观看视频 | 在线之家免费在线观看电影 | 久久久久一区二区三区 | 欧美精品二区 | 91网站在线视频 | 黄色免费电影网站 | 成人黄色电影在线播放 | 中文字幕一区三区 | 国产分类视频 | 亚洲美女精品 | 亚洲欧美日韩在线看 | 五月综合在线观看 | 日韩欧美高清在线 | 欧美日韩中 | 国产高清在线免费观看 | 天天射天天射 | 日韩亚洲国产精品 | av免费看网站 | 99久久久久免费精品国产 | 九九免费观看视频 | 国产一区在线免费观看视频 | 久久国内精品视频 | 色婷久久 | 国产在线观看高清视频 | 99国内精品久久久久久久 | 亚洲最大av | 亚洲成人av电影在线 | 欧美在线不卡一区 | 久久久久黄 | 国产永久免费观看 | www.婷婷色| 久久影院午夜论 | 欧美成人精品在线 | 久久国产日韩 | 国产一区欧美日韩 | 69国产精品视频免费观看 | 国产 日韩 在线 亚洲 字幕 中文 | 国产精品第52页 | 五月婷婷影视 | 天天射天天爱天天干 | 99爱国产精品 | 夜色.com| 91自拍成人| 中文字幕av一区二区三区四区 | 亚洲精品大全 | 亚洲人xxx | 91视频a| 日本久久久久久久久久久 | 中文字幕韩在线第一页 | 中文字幕在线观看国产 | 中文字幕免费久久 | 国产精品成人国产乱一区 | 久久人人97超碰精品888 | 欧美日韩一级久久久久久免费看 | 免费精品国产 | 欧美先锋影音 | 夜夜操夜夜干 | 婷婷伊人综合 | 免费成人av在线看 | 天天操天天射天天舔 | 国产中文字幕第一页 | 国产视频在线观看一区二区 | 久久影视精品 | 久久综合9988久久爱 | 欧美精品在线免费 | 麻豆久久久久久久 | 亚洲精品视频大全 | 国产99久久九九精品免费 | 国产97在线视频 | 久久中文字幕导航 | 国产精品麻豆99久久久久久 | 黄色的视频 | 日韩网页 | 一级片视频在线 | 六月色婷婷 | www.久久com| 99视屏 | 免费国产一区二区视频 | 欧美另类一二三四区 | 看v片| 欧美aaa一级 | 国产精品久久久久久久久久久久久 | 天天操天天射天天爱 | 二区三区在线视频 | 91一区二区三区在线观看 | 97色在线观看免费视频 | 久久五月天综合 | 日韩av成人| 丰满少妇在线观看资源站 | 亚洲最新视频在线 | 特级aaa毛片 | 久久久国产影院 | 亚洲激情电影在线 | 激情在线网址 | 99久久精品免费一区 | 亚洲区另类春色综合小说校园片 | 中文字幕黄色 | 99精品在线免费在线观看 | 黄色一级动作片 | 西西4444www大胆视频 | www.久热| 亚洲乱码久久 | 亚洲国产97在线精品一区 | 欧美性色黄大片在线观看 | 日韩电影精品 | 999日韩| 在线观看网站你懂的 | 中文字幕在线视频网站 | 日韩丝袜视频 | 福利一区二区 | 91亚洲精品视频 | 亚洲专区视频在线观看 | 99久久精品无免国产免费 | 日b视频国产 | 色免费在线 | 黄色av电影免费观看 | 中文在线亚洲 | 国产资源精品在线观看 | 国产精品一区二区三区四 | 天天操天天射天天爽 | 久久99精品国产91久久来源 | 精品国产一区二区三区四 | 中文字幕av全部资源www中文字幕在线观看 | 午夜国产一区二区 | 亚洲成av人影片在线观看 | 伊人欧美 | 国产精品一二三 | 国产成人精品不卡 | 国产大尺度视频 | 久久精品精品 | av先锋影音少妇 | 国产成人av电影在线 | 久久国产a | 九九日韩| 欧美久久久久久久久久久久 | 日本高清中文字幕有码在线 | 国内精品久久久久久久影视麻豆 | 亚洲午夜精品一区二区三区电影院 | 成人资源在线播放 | 最近日本字幕mv免费观看在线 | 国产色久| 亚洲精品一区二区三区四区高清 | 干天天 | 色妞久久福利网 | 91成人精品一区在线播放69 | 特级毛片在线免费观看 | 日韩videos高潮hd | 能在线观看的日韩av | 九九热精品在线 | 91精品导航 | 国产成人精品久久久 | 美女网站视频免费都是黄 | 国产黄色免费观看 | 精品国产欧美 | 在线播放精品一区二区三区 | 中文字幕乱码电影 | 狠狠色狠狠色综合日日92 | 国产精品美女久久久久久网站 | 久久艹人人 | 91精品国产99久久久久 | 最近高清中文在线字幕在线观看 | 午夜婷婷在线播放 | 九九热99视频 | 狠狠狠色丁香婷婷综合久久五月 | 97免费在线观看视频 | 中文字幕乱码电影 | 国产小视频在线观看免费 | 日本精品中文字幕在线观看 | 国产午夜三级一区二区三桃花影视 | 欧美成人理伦片 | 懂色av懂色av粉嫩av分享吧 | 国产精品尤物视频 | 999成人网| 精品国产成人av | 亚洲一区二区三区四区精品 | 成人国产精品免费观看 | 蜜臀av.com | 超碰com| 在线色网站 | 五月婷婷六月丁香 | av线上免费看 | 亚洲黄色在线 | 特黄特色特刺激视频免费播放 | 国产手机在线精品 | 三三级黄色片之日韩 | 国产精品系列在线播放 | 人人干人人超 | 国产原创中文在线 | 亚洲国产伊人 | 我爱av激情网 | 欧美aaa视频 | 精品国产aⅴ麻豆 | 国产精品视频观看 | 黄色的视频 | av中文字幕日韩 | 欧美人人爱 | 激情婷婷 | 在线观看的av | 蜜臀精品久久久久久蜜臀 | 久草精品在线观看 | 欧洲亚洲国产视频 | 在线婷婷| 成人免费观看网站 | 最新日韩精品 | 亚洲精品av中文字幕在线在线 | a黄色| 91精品国产综合久久福利不卡 | 精品久久中文 | 日韩免费在线观看视频 | 亚洲综合在线视频 | 中文字幕国产在线 | 米奇狠狠狠888 | 成人av电影免费 | 国产h片在线观看 | 天天射天天干天天爽 | 日韩在线一二三区 | 亚洲乱码中文字幕综合 | 91中文字幕一区 | 欧美人交a欧美精品 | 久99久在线| 97精品伊人 | 亚洲情影院 | 一级黄色免费网站 | 成人av在线影院 | 久久tv| 亚洲综合在线一区二区三区 | 亚洲欧美偷拍另类 | 久久久免费视频播放 | av在线免费观看网站 | 97色国产| 精品在线二区 | 亚洲视频第一页 | 丁香婷婷色综合亚洲电影 | 精品国产一区二 | 成人网444ppp | 91av欧美| 天天干天天上 | 亚洲v精品 | 国产精品国产三级国产不产一地 | 热久久99这里有精品 | 91精品久久久久久久久 | 成人免费观看在线视频 | 黄网站大全| 国产高清网站 | 成年人免费观看在线视频 | 久久久久久久久久网 | 亚洲影院色| 免费观看国产精品视频 | 天天射天天艹 | 色网站中文字幕 | 久草在线免费新视频 | 91在线免费视频观看 | 91片黄在线观| 久久91久久久久麻豆精品 | 亚洲精品视频第一页 | 亚洲精品美女视频 | 69xx视频| 日日添夜夜添 | 亚洲 成人 一区 | 国产成人精品综合 | 日韩精品在线观看视频 | 一区二区精品视频 | 免费视频久久久 | 久久av伊人 | 一区二区不卡视频在线观看 | 超碰在线人人艹 | 美女激情影院 | 黄色av高清 | 免费看一级特黄a大片 | 国产精品一区二区在线播放 | 国产欧美高清 | 午夜精品视频一区二区三区在线看 | 国产日韩av在线 | 在线观看免费视频 | 很黄很污的视频网站 | 久久免费视频这里只有精品 | 国产99久久久欧美黑人 | www.com久久| 91污视频在线 | 91av在线视频免费观看 | 伊甸园永久入口www 99热 精品在线 | 国产正在播放 | 草久草久 | 久爱精品在线 | 午夜色大片在线观看 | www.色五月.com| 亚洲丝袜一区 | 97国产在线播放 | 一区二区三区在线观看中文字幕 | 成人高清av在线 | 亚洲v精品 | 国产精品视频不卡 | 91在线你懂的 | 国产资源中文字幕 | 8x8x在线观看视频 | 国产精品久久久久久久久大全 | 国产精品第三页 | 欧美精品久久久久久久久免 | 91在线观 | 久青草国产在线 | 波多野结衣视频在线 |