java - 使用 StringTemplate 生成条件代码

标签 java stringtemplate

在我的项目中,我有一个类Device,如下所示:

public class Device {
    private Set<String> abilities = new HashSet<String>();

    public Device(Set<String> abilities) {
        this.abilities = abilities;
    }

    public Set<String> getAbilities() {
        return abilities;
    }
}

我正在初始化这个 Device 类:

Set<String> device1Abilities = new HashSet<String>();
device1Abilities.add("BadgeReader"); 
device1Abilities.add("TemperatureSensor");   
device1Abilities.add("xyz");
Device d1 = new Device(device1Abilities);

在我的stringTemplateFile中,我正在使用

检索能力
$device.abilities :{ sc | abilities.add("$sc$"); }$

这将生成以下代码=>

abilities.add("BadgeReader");
abilities.add("TemperatureSensor");
abilities.add("xyz");

现在,我的要求是 ----- 我不想生成这行代码:

abilities.add("xyz");

我应该在

中指定什么条件
 $device.abilities :{ sc | abilities.add("$sc$"); }$

这样它就不会生成该行?

最佳答案

该计算确实属于模型,因此您应该对传递给模板的列表进行过滤。模板不应确定要显示哪些数据。它应该显示您的模型规定应该显示的数据。希望这有帮助。

关于java - 使用 StringTemplate 生成条件代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10200765/

相关文章:

java - 为什么我的 Java 程序只读取一行输入?

java - Clojure 排序映射 : find largest key that is less than or equal to x (floor key)

java - 使用 WSS4J 的安全 Web 服务调用返回 "An error was discovered processing the <wsse:Security> header"

java - 在java stringtemplate中的迭代中增加一个值

java - 使用 Stringtemplate 通过 Maven 从模板生成 HTML 页面

java - 使用Java在mongodb中查找祖先

java - ANTLR:通过stringtemplate将修改后的AST翻译成java源码

java - 确保在 StringTemplate 中转义 HTML 实体的最佳方法是什么

java - 如何使用 Stringtemplate 4.x 直接写入 OutputStream?

java - 使用 android 支持库 v23.4.0 时抽屉导航未打开