thymeleaf工具类对象表达式集合

具体如下:(一般使用形式th:if="${#execInfo.templateName}"、th:value="${#execInfo.templateName}")

Execution Info

Execution	Info
#execInfo:提供有关在Thymeleaf标准表达式内正在处理的模板的信息。
/*
 *	=======================================================
 *	See	javadoc	API	for	class	org.thymeleaf.expression.ExecutionInfo
 *	=======================================================
*/
${#execInfo.templateName}
${#execInfo.templateMode}
${#execInfo.processedTemplateName}
${#execInfo.processedTemplateMode}
${#execInfo.templateNames}
${#execInfo.templateModes}
${#execInfo.templateStack}

Messages

#messages:用于在变量表达式中获取外部化消息的工具方法,与使用#{...}语法获得的方式相同。
/*
*	=======================================================
*	See	javadoc	API	for	class	org.thymeleaf.expression.Messages
*	=======================================================
*/
${#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)}

URIs/URLs

#uris:用于在Thymeleaf标准表达式中执行URI/URL操作(尤其是转义/取消转义)的工具对象。
/*
*	=======================================================
	*	See	javadoc	API	for	class	org.thymeleaf.expression.Uris
*	=======================================================
*/

${#uris.escapePath(uri)}
${#uris.escapePath(uri,	encoding)}
${#uris.unescapePath(uri)}
${#uris.unescapePath(uri,	encoding)}
/*
*	Escape/Unescape	as a URI/URL path segment (between '/' symbols)
*/
${#uris.escapePathSegment(uri)}
${#uris.escapePathSegment(uri,	encoding)}
${#uris.unescapePathSegment(uri)}
${#uris.unescapePathSegment(uri,	encoding)}
/*
*	Escape/Unescape	as	a Fragment Identifier (#frag)
*/
${#uris.escapeFragmentId(uri)}
${#uris.escapeFragmentId(uri,	encoding)}
${#uris.unescapeFragmentId(uri)}
${#uris.unescapeFragmentId(uri,	encoding)}
/*
*	Escape/Unescape	as	a Query	Parameter (?var=value)
*/
${#uris.escapeQueryParam(uri)}
${#uris.escapeQueryParam(uri,	encoding)}
${#uris.unescapeQueryParam(uri)}
${#uris.unescapeQueryParam(uri,	encoding)}

Conversions

#conversions:允许在模板任意位置执行转换服务的实用程序对象:
/*
*	=======================================================
*	See	javadoc	API	for	class org.thymeleaf.expression.Conversions
*	=======================================================
*/
/*
*	Execute	the	desired	conversion	of	the	'object' value into	the
*	specified class.
*/
${#conversions.convert(object,	'java.util.TimeZone')}
${#conversions.convert(object,	targetClass)}

Dates

Dates
#dates:java.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
 

#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
 

#numbers:数字对象的实用程序方法:
/*
*	=======================================================
*	See	javadoc	API	for	class org.thymeleaf.expression.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)}
/*
19.附录B:⼯具类对象表达式
216	*	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')}
/*	
	*	=====================
	*	Formatting	currencies
	*	=====================
	*/
${#numbers.formatCurrency(num)}
${#numbers.arrayFormatCurrency(numArray)}
${#numbers.listFormatCurrency(numList)}
${#numbers.setFormatCurrency(numSet)}
19.附录B:⼯具类对象表达式
217/*	
	*	======================
	*	Formatting	percentages
	*	======================
	*/
${#numbers.formatPercent(num)}
${#numbers.arrayFormatPercent(numArray)}
${#numbers.listFormatPercent(numList)}
${#numbers.setFormatPercent(numSet)}
/*	
	*	Set	minimum	integer	digits	and	(exact)	decimal	digits.
	*/
${#numbers.formatPercent(num,	3,	2)}
${#numbers.arrayFormatPercent(numArray,	3,	2)}
${#numbers.listFormatPercent(numList,	3,	2)}
${#numbers.setFormatPercent(numSet,	3,	2)}
/*
	*	===============
	*	Utility	methods
	*	===============
	*/
/*
19.附录B:⼯具类对象表达式
218	*	Create	a	sequence	(array)	of	integer	numbers	going
	*	from	x	to	y
	*/
${#numbers.sequence(from,to)}
${#numbers.sequence(from,to,step)}
Strings
#strings	String⼯具类
/*
	*	====================================================
==================
	*	See	javadoc	API	for	class	org.thymeleaf.expression.S
trings
	*	====================================================
==================
	*/
/*
	*	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)}
19.附录B:⼯具类对象表达式
219${#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	fragmen
t
	*	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
	*/
19.附录B:⼯具类对象表达式
220${#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,',')}																//	
19.附录B:⼯具类对象表达式
221returns	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)}																							//	
19.附录B:⼯具类对象表达式
222also	array*,	list*	and	set*
/*
	*	Convert	the	first	character	of	every	word	to	upper-c
ase
	*/
${#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
	*/
19.附录B:⼯具类对象表达式
223${#strings.randomAlphanumeric(count)}
Objects
/*
	*	=======================================================
===============
	*	See	javadoc	API	for	class	org.thymeleaf.expression.Obje
cts
	*	=======================================================
===============
	*/
/*
	*	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)}
Booleans
/*
	*	=======================================================
===============
	*	See	javadoc	API	for	class	org.thymeleaf.expression.Bool
s
	*	=======================================================
19.附录B:⼯具类对象表达式
224===============
	*/
/*
	*	Evaluate	a	condition	in	the	same	way	that	it	would	be	e
valuated	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)}
19.附录B:⼯具类对象表达式
225${#bools.listOr(condList)}
${#bools.setOr(condSet)}
Arrays
/*
	*	=======================================================
===============
	*	See	javadoc	API	for	class	org.thymeleaf.expression.Arra
ys
	*	=======================================================
===============
	*/
/*
	*	Converts	to	array,	trying	to	infer	array	component	clas
s.
	*	Note	that	if	resulting	array	is	empty,	or	if	the	elemen
ts
	*	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)}
19.附录B:⼯具类对象表达式
226/*
	*	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.List
s
	*	=======================================================
===============
	*/
/*
	*	Converts	to	list
	*/
${#lists.toList(object)}
19.附录B:⼯具类对象表达式
227/*
	*	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
	*	=======================================================
===============
	*/
19.附录B:⼯具类对象表达式
228/*
	*	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
	*	=======================================================
===============
	*/
/*
19.附录B:⼯具类对象表达式
229	*	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)}
聚合函数
/*
	*	=======================================================
===============
	*	See	javadoc	API	for	class	org.thymeleaf.expression.Aggr
egates
	*	=======================================================
===============
	*/
/*
	*	Compute	sum.	Returns	null	if	array	or	collection	is	emp
ty
	*/
${#aggregates.sum(array)}
19.附录B:⼯具类对象表达式
230${#aggregates.sum(collection)}
/*
	*	Compute	average.	Returns	null	if	array	or	collection	is
	empty
	*/
${#aggregates.avg(array)}
${#aggregates.avg(collection)}
IDs
#ids:处理可能重复的id属性的实⽤⽅法(例如,作为迭代的结
果)。
/*
	*	=======================================================
===============
	*	See	javadoc	API	for	class	org.thymeleaf.expression.Ids
	*	=======================================================
===============
	*/
/*
	*	Normally	used	in	th:id	attributes,	for	appending	a	coun
ter	to	the	id	attribute	value
	*	so	that	it	remains	unique	even	when	involved	in	an	iter
ation	process.
	*/
${#ids.seq('someId')}
/*
	*	Normally	used	in	th:for	attributes	in	<label>	tags,	so	
that	these	labels	can	refer	to	Ids
19.附录B:⼯具类对象表达式
231	*	generated	by	means	if	the	#ids.seq(...)	function.
	*
	*	Depending	on	whether	the	<label>	goes	before	or	after	t
he	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')}
19.附录B:⼯具类对象表达式

 

 

 

 

 

上一篇:【CodeForce】559B Equivalent Strings 等效字符串


下一篇:2020-12-26