提问人:hakuna matata 提问时间:12/13/2022 更新时间:12/13/2022 访问量:214
Apache Velocity 转义点字符
Apache Velocity Escape Dot Character
问:
我开始研究 Velocity 进行模板化,但是我似乎无法在变量名称后面转义点字符。下面是我拥有的模板。
## function.vm
void functionA() {
int minimum_value = $class_name.MIN_VALUE;
int maximum_value = $class_name.MAX_VALUE;
}
其中,是我在下面设置的变量。$class_name
VelocityContext
VelocityContext velocityContext = new VelocityContext();
velocityContext.put("class_name", "Short");
但是,这将输出以下内容,没有变化。
void functionA() {
int minimum_value = $class_name.MIN_VALUE;
int maximum_value = $class_name.MAX_VALUE;
}
在点字符之前添加反斜杠将替换变量,但它也会打印反斜杠,如下所示。$class_name\.MIN_VALUE
void functionA() {
int minimum_value = Short\.MIN_VALUE;
int maximum_value = Short\.MAX_VALUE;
}
逃避不是用反斜杠完成的吗?我找到了多个答案,说它应该带有反斜杠,其他答案则带有使用,但效果不佳。$esc.java()
答:
3赞
Vini
12/13/2022
#1
您可以使用大括号,例如:class_name
## function.vm
void functionA() {
int minimum_value = ${class_name}.MIN_VALUE;
int maximum_value = ${class_name}.MAX_VALUE;
}
这将生成以下输出:
void functionA() {
int minimum_value = Short.MIN_VALUE;
int maximum_value = Short.MAX_VALUE;
}
下一个:创建常量日食模板
评论