0

/src フォルダーにあるサンプル Java ファイルを作成しました。

public class Main {
  public static void main(String[] args){
    STGroupFile StgFile=new STGroupFile("template.stg");
    StgFile.delimiterStartChar = '$';
    StgFile.delimiterStopChar = '$';
    ST webtemp=StgFile.getInstanceOf("test");
    webtemp.add("x","whyyy");
    System.out.println(webtemp.render());
  }
}

また、 /src フォルダーにあるファイル template.stg もあります

import "headers/header.stg" 
test(x) ::= << $included(x)$ >>

/src/headers フォルダーにあるファイル header.stg。

included(x) ::= << headers[$x$] >>

結果は明らかに

headers[whyyy]  

しかし、ヘッダーディレクトリ全体をインポートしようとすると、template.stg が次のようになります。

  import "headers" 
  test(x) ::= << $included(x)$ >>
  • 含まれているサブテンプレートは使用できません...

私が使用する StringTemplate のバージョンは最新の 4.0.5 であり、リンクhttp://www.antlr.org/wiki/display/ST4/Differences+before+v3+and+v4によると、ディレクトリのインポートは許可されています。 / の前および/または / の後に / を使用したことさえあります-相対/絶対パスが機能しません:(何か助けてください?ありがとう:)

4

1 に答える 1

3

試しました$header/included(x)$か?

于 2012-04-25T15:32:31.033 に答える