2

是否可以通过 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;   
    }   

}

现在,我的字符串模板文件包含 $CS.name$.. 的值可能是“Room”、“Floor”、“Center”。

根据该$CS.name$值,我想调用函数(可能是getRoom(), getFloor(), getCenter())。请注意,当我编写字符串模板文件时,我不知道要调用哪个函数。

4

2 回答 2

3

您不能调用静态函数。您只能在对象上调用 getter。

于 2012-05-15T17:57:53.463 回答
2

正如已经提到的,您不能在模板中调用静态函数。但是,还有另一种有趣的机制,可以帮助您满足您的要求。

StringTemplate库具有自定义Renderers的机制。

您可以构建一个渲染器,它将根据输入和/或可能的格式调用您的静态方法,例如

<your_item; format="your_format">

我希望这将有助于解决您的问题。它在不同的模板中帮助了我很多。

于 2015-06-04T15:36:16.510 回答