在我的项目中,我有一个类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/