基础对象

#ctx:上下文对象

 /*
* ======================================================================
* See javadoc API for class org.thymeleaf.context.IContext
* ======================================================================
*/ ${#ctx.locale}
${#ctx.variables} /*
* ======================================================================
* See javadoc API for class org.thymeleaf.context.IWebContext
* ======================================================================
*/ ${#ctx.applicationAttributes}
${#ctx.httpServletRequest}
${#ctx.httpServletResponse}
${#ctx.httpSession}
${#ctx.requestAttributes}
${#ctx.requestParameters}
${#ctx.servletContext}
${#ctx.sessionAttributes}

#locale:直接访问java.util.Locale与当前请求关联的

#varsorg.thymeleaf.context.VariablesMap上下文中所有变量的实例(通常包含在#ctx.variables加本地变量中的变量)。

 /*
* ======================================================================
* See javadoc API for class org.thymeleaf.context.VariablesMap
* ======================================================================
*/ ${#vars.get('foo')}
${#vars.containsKey('foo')}
${#vars.size()}
...

请求/会话属性的Web上下文命名空间等。

  • param:用于检索请求参数。${param.foo}是一个String[]带有foo请求参数值的,因此${param.foo[0]}通常用于获取第一个值。
 •    /*
• * ============================================================================
• * See javadoc API for class org.thymeleaf.context.WebRequestParamsVariablesMap
• * ============================================================================
• */

• ${param.foo} // Retrieves a String[] with the values of request parameter 'foo'
• ${param.size()}
• ${param.isEmpty()}
• ${param.containsKey('foo')}
• ...
  • session:用于检索会话属性。
 •    /*
• * ======================================================================
• * See javadoc API for class org.thymeleaf.context.WebSessionVariablesMap
• * ======================================================================
• */

• ${session.foo} // Retrieves the session atttribute 'foo'
• ${session.size()}
• ${session.isEmpty()}
• ${session.containsKey('foo')}
• ...
  • application:用于检索应用程序/ servlet上下文属性。
 •    /*
• * =============================================================================
• * See javadoc API for class org.thymeleaf.context.WebServletContextVariablesMap
• * =============================================================================
• */

• ${application.foo} // Retrieves the ServletContext atttribute 'foo'
• ${application.size()}
• ${application.isEmpty()}
• ${application.containsKey('foo')}
• ...

Web上下文对象

#httpServletRequest:直接访问javax.servlet.http.HttpServletRequest与当前请求关联的对象

 ${#httpServletRequest.getAttribute('foo')}
${#httpServletRequest.getParameter('foo')}
${#httpServletRequest.getContextPath()}
${#httpServletRequest.getRequestName()}
...
  • #httpSession:直接访问javax.servlet.http.HttpSession与当前请求关联的对象。
 •    ${#httpSession.getAttribute('foo')}
• ${#httpSession.id}
• ${#httpSession.lastAccessedTime}
• ...

Spring上下文对象

#themes:提供与Spring spring:themeJSP标记相同的功能

表达式实用程序对象

#datesjava.util.Date对象的实用方法

 /*
* ======================================================================
* See javadoc API for class org.thymeleaf.expression.Dates
* ======================================================================
*/ /*
* Format date with the standard locale format
* Also works with arrays, lists or sets
*/
${#dates.format(date)}
${#dates.arrayFormat(datesArray)}
${#dates.listFormat(datesList)}
${#dates.setFormat(datesSet)} /*
* Format date with the ISO8601 format
* Also works with arrays, lists or sets
*/
${#dates.formatISO(date)}
${#dates.arrayFormatISO(datesArray)}
${#dates.listFormatISO(datesList)}
${#dates.setFormatISO(datesSet)} /*
* 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')} /*
* Obtain date properties
* Also works with arrays, lists or sets
*/
${#dates.day(date)} // also arrayDay(...), listDay(...), etc.
${#dates.month(date)} // also arrayMonth(...), listMonth(...), etc.
${#dates.monthName(date)} // also arrayMonthName(...), listMonthName(...), etc.
${#dates.monthNameShort(date)} // also arrayMonthNameShort(...), listMonthNameShort(...), etc.
${#dates.year(date)} // also arrayYear(...), listYear(...), etc.
${#dates.dayOfWeek(date)} // also arrayDayOfWeek(...), listDayOfWeek(...), etc.
${#dates.dayOfWeekName(date)} // also arrayDayOfWeekName(...), listDayOfWeekName(...), etc.
${#dates.dayOfWeekNameShort(date)} // also arrayDayOfWeekNameShort(...), listDayOfWeekNameShort(...), etc.
${#dates.hour(date)} // also arrayHour(...), listHour(...), etc.
${#dates.minute(date)} // also arrayMinute(...), listMinute(...), etc.
${#dates.second(date)} // also arraySecond(...), listSecond(...), etc.
${#dates.millisecond(date)} // also arrayMillisecond(...), listMillisecond(...), etc. /*
* Create date (java.util.Date) objects from its components
*/
${#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)} /*
* Create a date (java.util.Date) object for the current date and time
*/
${#dates.createNow()} ${#dates.createNowForTimeZone()} /*
* Create a date (java.util.Date) object for the current date (time set to 00:00)
*/
${#dates.createToday()} ${#dates.createTodayForTimeZone()}
  • #calendars:类似于#dates,但对于java.util.Calendar对象:
 •    /*
• * ======================================================================
• * See javadoc API for class org.thymeleaf.expression.Calendars
• * ======================================================================
• */

• /*
• * Format calendar with the standard locale format
• * Also works with arrays, lists or sets
• */
• ${#calendars.format(cal)}
• ${#calendars.arrayFormat(calArray)}
• ${#calendars.listFormat(calList)}
• ${#calendars.setFormat(calSet)}

• /*
• * Format calendar with the ISO8601 format
• * Also works with arrays, lists or sets
• */
• ${#calendars.formatISO(cal)}
• ${#calendars.arrayFormatISO(calArray)}
• ${#calendars.listFormatISO(calList)}
• ${#calendars.setFormatISO(calSet)}

• /*
• * Format calendar with the specified pattern
• * Also works with arrays, lists or sets
• */
• ${#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')}

• /*
• * Obtain calendar properties
• * Also works with arrays, lists or sets
• */
• ${#calendars.day(date)} // also arrayDay(...), listDay(...), etc.
• ${#calendars.month(date)} // also arrayMonth(...), listMonth(...), etc.
• ${#calendars.monthName(date)} // also arrayMonthName(...), listMonthName(...), etc.
• ${#calendars.monthNameShort(date)} // also arrayMonthNameShort(...), listMonthNameShort(...), etc.
• ${#calendars.year(date)} // also arrayYear(...), listYear(...), etc.
• ${#calendars.dayOfWeek(date)} // also arrayDayOfWeek(...), listDayOfWeek(...), etc.
• ${#calendars.dayOfWeekName(date)} // also arrayDayOfWeekName(...), listDayOfWeekName(...), etc.
• ${#calendars.dayOfWeekNameShort(date)} // also arrayDayOfWeekNameShort(...), listDayOfWeekNameShort(...), etc.
• ${#calendars.hour(date)} // also arrayHour(...), listHour(...), etc.
• ${#calendars.minute(date)} // also arrayMinute(...), listMinute(...), etc.
• ${#calendars.second(date)} // also arraySecond(...), listSecond(...), etc.
• ${#calendars.millisecond(date)} // also arrayMillisecond(...), listMillisecond(...), etc.

• /*
• * Create calendar (java.util.Calendar) objects from its components
• */
• ${#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.createForTimeZone(year,month,day,timeZone)}
• ${#calendars.createForTimeZone(year,month,day,hour,minute,timeZone)}
• ${#calendars.createForTimeZone(year,month,day,hour,minute,second,timeZone)}
• ${#calendars.createForTimeZone(year,month,day,hour,minute,second,millisecond,timeZone)}

• /*
• * Create a calendar (java.util.Calendar) object for the current date and time
• */
• ${#calendars.createNow()}

• ${#calendars.createNowForTimeZone()}

• /*
• * Create a calendar (java.util.Calendar) object for the current date (time set to 00:00)
• */
• ${#calendars.createToday()}

• ${#calendars.createTodayForTimeZone()}
  • #numbers:数字对象的实用方法:
 •    /*
• * ======================================================================
• * See javadoc API for class org.thymeleaf.expression.Numbers
• * ======================================================================
• */

• /*
• * ==========================
• * Formatting integer numbers
• * ==========================
• */

• /*
• * Set minimum integer digits.
• * Also works with arrays, lists or sets
• */
• ${#numbers.formatInteger(num,3)}
• ${#numbers.arrayFormatInteger(numArray,3)}
• ${#numbers.listFormatInteger(numList,3)}
• ${#numbers.setFormatInteger(numSet,3)}


• /*
• * Set minimum integer digits and thousands separator:
• * 'POINT', 'COMMA', 'WHITESPACE', 'NONE' or 'DEFAULT' (by locale).
• * Also works with arrays, lists or sets
• */
• ${#numbers.formatInteger(num,3,'POINT')}
• ${#numbers.arrayFormatInteger(numArray,3,'POINT')}
• ${#numbers.listFormatInteger(numList,3,'POINT')}
• ${#numbers.setFormatInteger(numSet,3,'POINT')}


• /*
• * ==========================
• * Formatting decimal numbers
• * ==========================
• */

• /*
• * Set minimum integer digits and (exact) decimal digits.
• * Also works with arrays, lists or sets
• */
• ${#numbers.formatDecimal(num,3,2)}
• ${#numbers.arrayFormatDecimal(numArray,3,2)}
• ${#numbers.listFormatDecimal(numList,3,2)}
• ${#numbers.setFormatDecimal(numSet,3,2)}

• /*
• * Set minimum integer digits and (exact) decimal digits, and also decimal separator.
• * Also works with arrays, lists or sets
• */
• ${#numbers.formatDecimal(num,3,2,'COMMA')}
• ${#numbers.arrayFormatDecimal(numArray,3,2,'COMMA')}
• ${#numbers.listFormatDecimal(numList,3,2,'COMMA')}
• ${#numbers.setFormatDecimal(numSet,3,2,'COMMA')}

• /*
• * Set minimum integer digits and (exact) decimal digits, and also thousands and
• * decimal separator.
• * Also works with arrays, lists or sets
• */
• ${#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')}



• /*
• * ==========================
• * Utility methods
• * ==========================
• */

• /*
• * Create a sequence (array) of integer numbers going
• * from x to y
• */
• ${#numbers.sequence(from,to)}
• ${#numbers.sequence(from,to,step)}
  • #stringsString对象的实用方法
 /*
* ======================================================================
* See javadoc API for class org.thymeleaf.expression.Strings
* ======================================================================
*/ /*
* Null-safe toString()
*/
${#strings.toString(obj)} // also array*, list* and set* /*
* 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)} /*
* Perform an 'isEmpty()' check on a string and return it if false, defaulting to
* another specified string if true.
* Also works with arrays, lists or sets
*/
${#strings.defaultString(text,default)}
${#strings.arrayDefaultString(textArr,default)}
${#strings.listDefaultString(textList,default)}
${#strings.setDefaultString(textSet,default)} /*
* Check whether a fragment is contained in a String
* Also works with arrays, lists or sets
*/
${#strings.contains(name,'ez')} // also array*, list* and set*
${#strings.containsIgnoreCase(name,'ez')} // also array*, list* and set* /*
* 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* /*
* Substring-related operations
* Also works with arrays, lists or sets
*/
${#strings.indexOf(name,frag)} // also array*, list* and set*
${#strings.substring(name,3,5)} // also array*, list* and set*
${#strings.substringAfter(name,prefix)} // also array*, list* and set*
${#strings.substringBefore(name,suffix)} // also array*, list* and set*
${#strings.replace(name,'las','ler')} // also array*, list* and set* /*
* Append and prepend
* Also works with arrays, lists or sets
*/
${#strings.prepend(str,prefix)} // also array*, list* and set*
${#strings.append(str,suffix)} // also array*, list* and set* /*
* Change case
* Also works with arrays, lists or sets
*/
${#strings.toUpperCase(name)} // also array*, list* and set*
${#strings.toLowerCase(name)} // also array*, list* and set* /*
* Split and join
*/
${#strings.arrayJoin(namesArray,',')}
${#strings.listJoin(namesList,',')}
${#strings.setJoin(namesSet,',')}
${#strings.arraySplit(namesStr,',')} // returns String[]
${#strings.listSplit(namesStr,',')} // returns List<String>
${#strings.setSplit(namesStr,',')} // returns Set<String> /*
* Trim
* Also works with arrays, lists or sets
*/
${#strings.trim(str)} // also array*, list* and set* /*
* Compute length
* Also works with arrays, lists or sets
*/
${#strings.length(str)} // also array*, list* and set* /*
* Abbreviate text making it have a maximum size of n. If text is bigger, it
* will be clipped and finished in "..."
* Also works with arrays, lists or sets
*/
${#strings.abbreviate(str,10)} // also array*, list* and set* /*
* Convert the first character to upper-case (and vice-versa)
*/
${#strings.capitalize(str)} // also array*, list* and set*
${#strings.unCapitalize(str)} // also array*, list* and set* /*
* Convert the first character of every word to upper-case
*/
${#strings.capitalizeWords(str)} // also array*, list* and set*
${#strings.capitalizeWords(str,delimiters)} // also array*, list* and set* /*
* Escape the string
*/
${#strings.escapeXml(str)} // also array*, list* and set*
${#strings.escapeJava(str)} // also array*, list* and set*
${#strings.escapeJavaScript(str)} // also array*, list* and set*
${#strings.unescapeJava(str)} // also array*, list* and set*
${#strings.unescapeJavaScript(str)} // also array*, list* and set* /*
* Null-safe comparison and concatenation
*/
${#strings.equals(first, second)}
${#strings.equalsIgnoreCase(first, second)}
${#strings.concat(values...)}
${#strings.concatReplaceNulls(nullValue, values...)} /*
* Random
*/
${#strings.randomAlphanumeric(count)}
  • #objects:一般对象的实用程序方法
 •    /*
• * ======================================================================
• * See javadoc API for class org.thymeleaf.expression.Objects
• * ======================================================================
• */

• /*
• * Return obj if it is not null, and default otherwise
• * Also works with arrays, lists or sets
• */
• ${#objects.nullSafe(obj,default)}
• ${#objects.arrayNullSafe(objArray,default)}
• ${#objects.listNullSafe(objList,default)}
• ${#objects.setNullSafe(objSet,default)}
  • #bools:布尔评估的实用程序方法
 •    /*
• * ======================================================================
• * See javadoc API for class org.thymeleaf.expression.Bools
• * ======================================================================
• */

• /*
• * Evaluate a condition in the same way that it would be evaluated in a th:if tag
• * (see conditional evaluation chapter afterwards).
• * Also works with arrays, lists or sets
• */
• ${#bools.isTrue(obj)}
• ${#bools.arrayIsTrue(objArray)}
• ${#bools.listIsTrue(objList)}
• ${#bools.setIsTrue(objSet)}

• /*
• * Evaluate with negation
• * Also works with arrays, lists or sets
• */
• ${#bools.isFalse(cond)}
• ${#bools.arrayIsFalse(condArray)}
• ${#bools.listIsFalse(condList)}
• ${#bools.setIsFalse(condSet)}

• /*
• * Evaluate and apply AND operator
• * Receive an array, a list or a set as parameter
• */
• ${#bools.arrayAnd(condArray)}
• ${#bools.listAnd(condList)}
• ${#bools.setAnd(condSet)}

• /*
• * Evaluate and apply OR operator
• * Receive an array, a list or a set as parameter
• */
• ${#bools.arrayOr(condArray)}
• ${#bools.listOr(condList)}
• ${#bools.setOr(condSet)}
  • #arrays:数组的实用程序方法
 •    /*
• * ======================================================================
• * See javadoc API for class org.thymeleaf.expression.Arrays
• * ======================================================================
• */

• /*
• * Converts to array, trying to infer array component class.
• * Note that if resulting array is empty, or if the elements
• * of the target object are not all of the same class,
• * this method will return Object[].
• */
• ${#arrays.toArray(object)}

• /*
• * Convert to arrays of the specified component class.
• */
• ${#arrays.toStringArray(object)}
• ${#arrays.toIntegerArray(object)}
• ${#arrays.toLongArray(object)}
• ${#arrays.toDoubleArray(object)}
• ${#arrays.toFloatArray(object)}
• ${#arrays.toBooleanArray(object)}

• /*
• * Compute length
• */
• ${#arrays.length(array)}

• /*
• * Check whether array is empty
• */
• ${#arrays.isEmpty(array)}

• /*
• * Check if element or elements are contained in array
• */
• ${#arrays.contains(array, element)}
• ${#arrays.containsAll(array, elements)}
  • #lists:列表的实用程序方法
 •    /*
• * ======================================================================
• * See javadoc API for class org.thymeleaf.expression.Lists
• * ======================================================================
• */

• /*
• * Converts to list
• */
• ${#lists.toList(object)}

• /*
• * Compute size
• */
• ${#lists.size(list)}

• /*
• * Check whether list is empty
• */
• ${#lists.isEmpty(list)}

• /*
• * Check if element or elements are contained in list
• */
• ${#lists.contains(list, element)}
• ${#lists.containsAll(list, elements)}

• /*
• * Sort a copy of the given list. The members of the list must implement
• * comparable or you must define a comparator.
• */
• ${#lists.sort(list)}
• ${#lists.sort(list, comparator)
  • #sets:集合的实用程序方法
 •    /*
• * ======================================================================
• * See javadoc API for class org.thymeleaf.expression.Sets
• * ======================================================================
• */

• /*
• * Converts to set
• */
• ${#sets.toSet(object)}

• /*
• * Compute size
• */
• ${#sets.size(set)}

• /*
• * Check whether set is empty
• */
• ${#sets.isEmpty(set)}

• /*
• * Check if element or elements are contained in set
• */
• ${#sets.contains(set, element)}
• ${#sets.containsAll(set, elements)}
  • #maps:地图的实用程序方法
 •    /*
• * ======================================================================
• * See javadoc API for class org.thymeleaf.expression.Maps
• * ======================================================================
• */

• /*
• * Compute size
• */
• ${#maps.size(map)}

• /*
• * Check whether map is empty
• */
• ${#maps.isEmpty(map)}

• /*
• * Check if key/s or value/s are contained in maps
• */
• ${#maps.containsKey(map, key)}
• ${#maps.containsAllKeys(map, keys)}
• ${#maps.containsValue(map, value)}
• ${#maps.containsAllValues(map, value)}
  • #aggregates:用于在数组或集合上创建聚合的实用程序方法
 •    /*
• * ======================================================================
• * See javadoc API for class org.thymeleaf.expression.Aggregates
• * ======================================================================
• */

• /*
• * Compute sum. Returns null if array or collection is empty
• */
• ${#aggregates.sum(array)}
• ${#aggregates.sum(collection)}

• /*
• * Compute average. Returns null if array or collection is empty
• */
• ${#aggregates.avg(array)}
• ${#aggregates.avg(collection)}
  • #messages:用于在变量表达式中获取外部化消息的实用程序方法,与使用#{...}语法获取它们的方式相同。
 •    /*
• * ======================================================================
• * See javadoc API for class org.thymeleaf.expression.Messages
• * ======================================================================
• */

• /*
• * Obtain externalized messages. Can receive a single key, a key plus arguments,
• * or an array/list/set of keys (in which case it will return an array/list/set of
• * externalized messages).
• * If a message is not found, a default message (like '??msgKey??') is returned.
• */
• ${#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)}

• /*
• * Obtain externalized messages or null. Null is returned instead of a default
• * message if a message for the specified key is not found.
• */
• ${#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:用于处理id可能重复的属性的实用程序方法(例如,作为迭代的结果)。
 •    /*
• * ======================================================================
• * See javadoc API for class org.thymeleaf.expression.Ids
• * ======================================================================
• */

• /*
• * Normally used in th:id attributes, for appending a counter to the id attribute value
• * so that it remains unique even when involved in an iteration process.
• */
• ${#ids.seq('someId')}

• /*
• * Normally used in th:for attributes in <label> tags, so that these labels can refer to Ids
• * generated by means if the #ids.seq(...) function.
• *
• * Depending on whether the <label> goes before or after the element with the #ids.seq(...)
• * function, the "next" (label goes before "seq") or the "prev" function (label goes after
• * "seq") function should be called.
• */
• ${#ids.next('someId')}
• ${#ids.prev('someId')}

使用示例:

Thymeleaf学习记录(8)--表达式基本对象的更多相关文章

  1. Spring学习记录(七)---表达式语言-SpEL

    SpEL---Spring Expression Language:是一个支持运行时查询和操作对象图表达式语言.使用#{...}作为定界符,为bean属性动态赋值提供了便利. ①对于普通的赋值,用Sp ...

  2. Thymeleaf学习记录(3)--语法

    语法: 标准表达式语法 简单表达: 变量表达式: ${...} 选择变量表达式: *{...} 消息表达式: #{...} 链接网址表达式: @{...} 字面 文本文字:'one text','An ...

  3. Thymeleaf学习记录(4)--$/*/#/@语法

    表达式符号 Thymeleaf对于变量的操作主要有$\*\#三种方式: 变量表达式: ${...},是获取容器上下文变量的值. 选择变量表达式: *{...},获取指定的对象中的变量值.如果是单独的对 ...

  4. Thymeleaf学习记录(7)--页面引入/片段引入

    1.为页面添加footer: Templates文件夹下新建HTML文件: <!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xh ...

  5. Thymeleaf学习记录(6)--迭代及条件语法

    迭代: 条件选择: IF-THEN: (if) ? (then) IF-THEN-ELSE: (if) ? (then) : (else) 默认: (value) ?: (defaultvalue) ...

  6. Erlang学习记录(三)——表达式大集合

    Erlang中的表达式必须以.结束才会去执行.如果不加.你在编译环境下按多少次Enter,表达式都不会执行,表达式之间可以用,分隔,以.结尾后所有的表达式都会执行,但是只有最后一个以.结尾的表达式会在 ...

  7. Thymeleaf学习记录(1)--启动模板及建立Demo

    Thymeleaf是什么? Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎.相比于JSP,Thymeleaf更简洁,渲染性能更好,维护性更好,它可以XML/XHTML/HTM ...

  8. Thymeleaf学习记录(5)--运算及表单

    Thymeleaf文本及预算: 字面 文本文字:'one text','Another one!',... 号码文字:0,34,3.0,12.3,... 布尔文字:true,false 空字面: nu ...

  9. Thymeleaf学习记录(2)--自动编译设置

    了方便每次修改HTML文件都能实时刷新,做一下更改. 在application.properties文件加入以下命令: #thymeleaf start spring.thymeleaf.mode=H ...

随机推荐

  1. SpringQuartz定时任务cronExpression配置

    <!-- 每一个小时跑一次--> <property name="cronExpression"> <value>0 0 0/1 * * ?&l ...

  2. Java 访问权限控制:你真的了解 protected 关键字吗?

    摘要: 对于类的成员而言,其能否被其他类所访问,取决于该成员的修饰词:而对于一个类而言,其能否被其他类所访问,也取决于该类的修饰词.在Java中,类成员访问权限修饰词有四类:private,无(包访问 ...

  3. github访问慢加速访问

    实测从1kb到了1m多 方法: 登录 https://www.ipaddress.com/ 输入github.com得到一个或两个IP地址 输入github.global.ssl.fastly.net ...

  4. 关于npm run dev报错npm ERR! missing script: dev

    出现这个问题应当重新使用 vue init webpack 来初始化工程. 在执行 npm run dev 就可以执行了.

  5. Tree-AC训练实录

    Tree-AC比赛记录 2018 ICPC nanjing     Bronze  120/310 ICPC qingdao    Bronze  153/360 2019 ZJPSC        ...

  6. 论文分享NO.4(by_xiaojian)

    论文分享第四期-2019.04.16 Residual Attention Network for Image Classification,CVPR 2017,RAN 核心:将注意力机制与ResNe ...

  7. Ubuntu 16.04/Mac安装VSCode

    由于Atom打开大文件经常卡死的问题,我转到了VSCode了. 下载: https://code.visualstudio.com/ (链接: https://pan.baidu.com/s/1nvz ...

  8. (转)mysql 备份与恢复mysqlhotcopy

    原文:http://fuwenchao.blog.51cto.com/6008712/1331910 mysqlhotcopy是一个Perl脚本,最初由Tim Bunce编写并提供.它使用LOCK T ...

  9. Cloudera Manager安装之利用parcels方式(在线或离线)安装3或4节点集群(包含最新稳定版本或指定版本的安装)(添加服务)(Ubuntu14.04)(五)

    前期博客 Cloudera Manager安装之Cloudera Manager 5.6.X安装(tar方式.rpm方式和yum方式) (Ubuntu14.04) (三) 如果大家,在启动的时候,比如 ...

  10. HUE配置文件hue.ini 的Spark模块详解(图文详解)(分HA集群和HA集群)

    不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...