gpt4 book ai didi

java - StringTemplate:如何检测模板中的变量是否未显式设置?

转载 作者:行者123 更新时间:2023-12-01 12:49:19 24 4
gpt4 key购买 nike

我正在使用 StringTemplate 自动生成配置文件,如果用户没有定义某些变量,则会出现错误。

StringTemplate 将用空字符串替换 undefined variable (我的意思是 $var$),并且错误将不会被检测到。例如:

some_property=$some_property$

渲染为:

some_property=

如果模板中的变量未使用显式定义,如何强制 StringTemplate 引发异常

StringTemplate.setAttribute(key, value)

最佳答案

使用 StringTemplate 4,错误监听器会收到有关未定义属性的通知。使用自定义错误监听器,您可以根据需要处理此问题。例如:

    ST tmp = new ST("Hello <name>!");

tmp.write(new NoIndentWriter(new StringWriter()), new STErrorListener() {

@Override
public void runTimeError(STMessage msg) {
if(msg.error == ErrorType.NO_SUCH_ATTRIBUTE)
System.out.println("Attribute not defined: "+ msg.arg);
}

@Override public void compileTimeError(STMessage msg) { }
@Override public void IOError(STMessage msg) { }
@Override public void internalError(STMessage msg) { }
});

关于java - StringTemplate:如何检测模板中的变量是否未显式设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24364355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com