Ich schrieb eine Beispiel-Java-Datei, die sich im Ordner/src befindet.Wie kann das StringTemplate-Importverzeichnis verwendet werden?
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());
}
}
Auch habe ich die Datei template.stg, die auch in/src-Ordner befindet
import "headers/header.stg"
test(x) ::= << $included(x)$ >>
und die Datei header.stg, die in/src/Header-Ordner befindet.
included(x) ::= << headers[$x$] >>
Das Ergebnis ist offensichtlich
headers[whyyy]
aber wenn ich versuche ganze Header Verzeichnis importieren die template.stg so machen:
import "headers"
test(x) ::= << $included(x)$ >>
- die mitgelieferte Subtemplate kann nicht verwendet werden ...
Die von mir verwendete Version von StringTemplate ist die neueste Version 4.0.5 und nach dem Link http://www.antlr.org/wiki/display/ST4/Differences+between+v3+and+v4 ist das Importieren eines Verzeichnisses erlaubt .. Ich habe sogar/vor und/oder nach/- relative/absolute Pfade verwendet und es funktioniert nicht: (Irgendwelche Hilfe bitte? Danke :)
nein - Ich werde es versuchen - aber später - da ich StringTemplate für eine Weile aus meinem Projekt entfernt habe. Vielen Dank –
Das hat einige Jahre gedauert - tut mir leid - ich bin mit verschiedenen Technologien weiter gegangen, wie du dir vorstellen kannst, aber diese Antwort hat damals funktioniert :) –