是否可以通过StringTemplate动态生成的函数调用Java类的函数?
例如,以下是具有三个函数的Java类
public class RegionManager {
public static List<String> getCenter(){
return somelist;
}
public static List<String> getFloor(){
return somelist;
}
public static List<String> getRoom(){
return somelist;
}
}
现在,我的String模板文件包含$CS.name$
..值可能是“Room”,“Floor”,“Center”。
基于$CS.name$
值,我想调用函数(可能是getRoom(), getFloor(), getCenter()
)。请注意,当我写String模板文件时,我不知道,将调用哪个函数。
答案 0 :(得分:3)
您无法调用静态函数。你只能在对象上调用getter。
答案 1 :(得分:2)
如前所述,您无法在模板中调用静态函数。但是,还有另一个有趣的机制,可以帮助您满足您的要求。
StringTemplate库具有自定义Renderers的机制。
您可以构建一个渲染器,它将根据输入和/或可能的格式调用您的静态方法,例如:
<your_item; format="your_format">
我希望这有助于解决您的问题。它在不同的模板中帮助了我很多。