<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org" > <head> <meta content="text/html;charset=UTF-8" /> </head> <body> <!-- 此處是模版定義 --> <div th:fragment="copy"> 此處是模版 </div> <!-- 此處是模版調用 --> <div th:include="::copy"></div> </body> </html>
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org" > <head> <meta content="text/html;charset=UTF-8" /> </head> <body> <!-- 此處是模版定義 --> <div th:fragment="copy(onevar,twovar)"> <p th:text="${onevar} + ' - ' + ${twovar}">...</p> </div> <!-- 此處是模版調用,共有以下兩種方式 --> <div th:include="::copy('ee','yy')"></div> <div th:include="::copy(onevar='bb',twovar='aa')"></div> </body> </html>
定義模板 footer.html,示例以下:javascript
<div th:fragment="copy"> © 2016 CodeApe.cn </div> <div id="copy_1"> 基於ID屬性的模板 </div>
調用文件,示例以下:html
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity4"> <head> <meta content="text/html;charset=UTF-8" /> </head> <body> <!-- 此處調用模版,以下兩種方式 --> <!-- 基於模版中th:fragment屬性 --> <div th:include="footer::copy"></div> <!-- 基於模版中Dom選擇器 --> <div th:include="footer::#copy_1"></div> </body> </html>
基於DOM選擇器的模板引用,調用格式:th:include="templatename::domselector"
templatename是要引入頁面的路勁加上去掉後綴的名稱,例如footer.html頁面創建在/WEB-INF/templates/footer.html,因此templatename爲footer;domselector就是dom選擇器,即爲th:fragment中的值,或是選擇idjava
<li class="nav-item" th:if="${#lists.size(session.SPRING_SECURITY_CONTEXT.authentication.authorities)>0 && session.SPRING_SECURITY_CONTEXT.authentication.authorities[0].authority=='admin'}"> </li>
此處是使用spring security的前提下,判斷當前用戶使用擁有 admin權限。spring
${#dates.format(date)} ${#dates.arrayFormat(datesArray)} ${#dates.listFormat(datesList)} ${#dates.setFormat(datesSet)} ${#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')} ${#dates.day(date)} ${#dates.month(date)} ${#dates.monthName(date)} ${#dates.monthNameShort(date)} ${#dates.year(date)} ${#dates.dayOfWeek(date)} ${#dates.dayOfWeekName(date)} ${#dates.dayOfWeekNameShort(date)} ${#dates.hour(date)} ${#dates.minute(date)} ${#dates.second(date)} ${#dates.millisecond(date)} ${#dates.create(year,month,day)} ${#dates.create(year,month,day,hour,minute)} ${#dates.create(year,month,day,hour,minute,second)} ${#dates.create(year,month,day,hour,minute,second,millisecond)} ${#dates.createNow()} ${#dates.createToday()}
${#calendars.format(cal)} ${#calendars.arrayFormat(calArray)} ${#calendars.listFormat(calList)} ${#calendars.setFormat(calSet)} ${#calendars.format(cal, 'dd/MMM/yyyy HH:mm')} ${#calendars.arrayFormat(calArray, 'dd/MMM/yyyy HH:mm')} ${#calendars.listFormat(calList, 'dd/MMM/yyyy HH:mm')} ${#calendars.setFormat(calSet, 'dd/MMM/yyyy HH:mm')} ${#calendars.day(date)} ${#calendars.month(date)} ${#calendars.monthName(date)} ${#calendars.monthNameShort(date)} ${#calendars.year(date)} ${#calendars.dayOfWeek(date)} ${#calendars.dayOfWeekName(date)} ${#calendars.dayOfWeekNameShort(date)} ${#calendars.hour(date)} ${#calendars.minute(date)} ${#calendars.second(date)} ${#calendars.millisecond(date)} ${#calendars.create(year,month,day)} ${#calendars.create(year,month,day,hour,minute)} ${#calendars.create(year,month,day,hour,minute,second)} ${#calendars.create(year,month,day,hour,minute,second,millisecond)} ${#calendars.createNow()} ${#calendars.createToday()}
${#numbers.formatInteger(num,3)} ${#numbers.arrayFormatInteger(numArray,3)} ${#numbers.listFormatInteger(numList,3)} ${#numbers.setFormatInteger(numSet,3)} ${#numbers.formatInteger(num,3,'POINT')} ${#numbers.arrayFormatInteger(numArray,3,'POINT')} ${#numbers.listFormatInteger(numList,3,'POINT')} ${#numbers.setFormatInteger(numSet,3,'POINT')} ${#numbers.formatDecimal(num,3,2)} ${#numbers.arrayFormatDecimal(numArray,3,2)} ${#numbers.listFormatDecimal(numList,3,2)} ${#numbers.setFormatDecimal(numSet,3,2)} ${#numbers.formatDecimal(num,3,2,'COMMA')} ${#numbers.arrayFormatDecimal(numArray,3,2,'COMMA')} ${#numbers.listFormatDecimal(numList,3,2,'COMMA')} ${#numbers.setFormatDecimal(numSet,3,2,'COMMA')} ${#numbers.formatDecimal(num,3,'POINT',2,'COMMA')} ${#numbers.arrayFormatDecimal(numArray,3,'POINT',2,'COMMA')} ${#numbers.listFormatDecimal(numList,3,'POINT',2,'COMMA')} ${#numbers.setFormatDecimal(numSet,3,'POINT',2,'COMMA')} ${#numbers.sequence(from,to)} ${#numbers.sequence(from,to,step)}
${#strings.isEmpty(name)} ${#strings.arrayIsEmpty(nameArr)} ${#strings.listIsEmpty(nameList)} ${#strings.setIsEmpty(nameSet)} ${#strings.defaultString(text,default)} ${#strings.arrayDefaultString(textArr,default)} ${#strings.listDefaultString(textList,default)} ${#strings.setDefaultString(textSet,default)} ${#strings.contains(name,'ez')} ${#strings.containsIgnoreCase(name,'ez')} ${#strings.startsWith(name,'Don')} ${#strings.endsWith(name,endingFragment)} ${#strings.indexOf(name,frag)} ${#strings.substring(name,3,5)} ${#strings.substringAfter(name,prefix)} ${#strings.substringBefore(name,suffix)} ${#strings.replace(name,'las','ler')} ${#strings.prepend(str,prefix)} ${#strings.append(str,suffix)} ${#strings.toUpperCase(name)} ${#strings.toLowerCase(name)} ${#strings.arrayJoin(namesArray,',')} ${#strings.listJoin(namesList,',')} ${#strings.setJoin(namesSet,',')} ${#strings.arraySplit(namesStr,',')} ${#strings.listSplit(namesStr,',')} ${#strings.setSplit(namesStr,',')} ${#strings.trim(str)} ${#strings.length(str)} ${#strings.abbreviate(str,10)} ${#strings.capitalize(str)} ${#strings.unCapitalize(str)} ${#strings.capitalizeWords(str)} ${#strings.capitalizeWords(str,delimiters)} ${#strings.escapeXml(str)} ${#strings.escapeJava(str)} ${#strings.escapeJavaScript(str)} ${#strings.unescapeJava(str)} ${#strings.unescapeJavaScript(str)} ${#strings.equals(str)} ${#strings.equalsIgnoreCase(str)} ${#strings.concat(str)} ${#strings.concatReplaceNulls(str)}
${#objects.nullSafe(obj,default)} ${#objects.arrayNullSafe(objArray,default)} ${#objects.listNullSafe(objList,default)} ${#objects.setNullSafe(objSet,default)}
${#bools.isTrue(obj)} ${#bools.arrayIsTrue(objArray)} ${#bools.listIsTrue(objList)} ${#bools.setIsTrue(objSet)} ${#bools.isFalse(cond)} ${#bools.arrayIsFalse(condArray)} ${#bools.listIsFalse(condList)} ${#bools.setIsFalse(condSet)} ${#bools.arrayAnd(condArray)} ${#bools.listAnd(condList)} ${#bools.setAnd(condSet)} ${#bools.arrayOr(condArray)} ${#bools.listOr(condList)} ${#bools.setOr(condSet)}
${#arrays.toArray(object)} ${#arrays.toStringArray(object)} ${#arrays.toIntegerArray(object)} ${#arrays.toLongArray(object)} ${#arrays.toDoubleArray(object)} ${#arrays.toFloatArray(object)} ${#arrays.toBooleanArray(object)} ${#arrays.length(array)} ${#arrays.isEmpty(array)} ${#arrays.contains(array, element)} ${#arrays.containsAll(array, elements)}
${#lists.toList(object)} ${#lists.size(list)} ${#lists.isEmpty(list)} ${#lists.contains(list, element)} ${#lists.containsAll(list, elements)} ${#lists.sort(list)} ${#lists.sort(list, comparator)}
${#sets.toSet(object)} ${#sets.size(set)} ${#sets.isEmpty(set)} ${#sets.contains(set, element)} ${#sets.containsAll(set, elements)}
${#maps.size(map)} ${#maps.isEmpty(map)} ${#maps.containsKey(map, key)} ${#maps.containsAllKeys(map, keys)} ${#maps.containsValue(map, value)} ${#maps.containsAllValues(map, value)}
${#aggregates.sum(array)} ${#aggregates.sum(collection)} ${#aggregates.avg(array)} ${#aggregates.avg(collection)}
${#messages.msg('msgKey')} ${#messages.msg('msgKey', param1)} ${#messages.msg('msgKey', param1, param2)} ${#messages.msg('msgKey', param1, param2, param3)} ${#messages.msgWithParams('msgKey', new Object[] {param1, param2, param3, param4})} ${#messages.arrayMsg(messageKeyArray)} ${#messages.listMsg(messageKeyList)} ${#messages.setMsg(messageKeySet)} ${#messages.msgOrNull('msgKey')} ${#messages.msgOrNull('msgKey', param1)} ${#messages.msgOrNull('msgKey', param1, param2)} ${#messages.msgOrNull('msgKey', param1, param2, param3)} ${#messages.msgOrNullWithParams('msgKey', new Object[] {param1, param2, param3, param4})} ${#messages.arrayMsgOrNull(messageKeyArray)} ${#messages.listMsgOrNull(messageKeyList)} ${#messages.setMsgOrNull(messageKeySet)}
${#ids.seq('someId')} ${#ids.next('someId')} ${#ids.prev('someId')}
<script th:inline="javascript"> /*<![CDATA[*/ var message = [[${message}]]; console.log(message); /*]]>*/ </script>