2

StringTemplate から動的に生成された関数を介して Java クラスの関数を呼び出すことは可能ですか?

たとえば、次は 3 つの関数を持つ 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$..値が「部屋」、「フロア」、「センター」の可能性があります。

値に基づいて、$CS.name$function ( could be ) を呼び出したいと思いますgetRoom(), getFloor(), getCenter()。String テンプレート ファイルを作成する場合、どの関数が呼び出されるのかわかりません。

4

2 に答える 2

3

静的関数を呼び出すことはできません。オブジェクトに対してのみゲッターを呼び出すことができます。

于 2012-05-15T17:57:53.463 に答える
2

既に述べたように、テンプレートで静的関数を呼び出すことはできません。ただし、要件を満たすのに役立つ別の興味深いメカニズムがあります。

StringTemplateライブラリには、カスタムRenderersのメカニズムがあります。

入力および/または潜在的にフォーマットに基づいて、静的メソッドを呼び出すレンダラーを構築できます。

<your_item; format="your_format">

問題の解決に役立つことを願っています。さまざまなテンプレートで大いに役立ちました。

于 2015-06-04T15:36:16.510 に答える