|
对于最新稳定版本,请使用Spring Framework 7.0.1! |
表达式模板化
表达式模板允许将文字文本与一个或多个评估块混合使用。
每个评估块都用前缀和后缀字符来区分
定义。一个常见的选择是将 作为分隔符,如下示例
显示:#{ }
-
Java
-
Kotlin
String randomPhrase = parser.parseExpression(
"random number is #{T(java.lang.Math).random()}",
new TemplateParserContext()).getValue(String.class);
// evaluates to "random number is 0.7038186818312008"
val randomPhrase = parser.parseExpression(
"random number is #{T(java.lang.Math).random()}",
TemplateParserContext()).getValue(String::class.java)
// evaluates to "random number is 0.7038186818312008"
字符串通过连接文字文本来评估“随机数是”其中
计算分隔符内表达式的结果(此例中为
叫那个名字#{ }random()方法)。第二个论证解析表达(parseExpression)方法
是 类型解析上下文.这解析上下文界面被用来影响
表达式被解析以支持表达式模板功能。
的定义模板解析上下文遵循:
-
Java
-
Kotlin
public class TemplateParserContext implements ParserContext {
public String getExpressionPrefix() {
return "#{";
}
public String getExpressionSuffix() {
return "}";
}
public boolean isTemplate() {
return true;
}
}
class TemplateParserContext : ParserContext {
override fun getExpressionPrefix(): String {
return "#{"
}
override fun getExpressionSuffix(): String {
return "}"
}
override fun isTemplate(): Boolean {
return true
}
}