0

Rythm テンプレートで奇妙な問題が発生しています。現在、これらのテンプレートを以下に配置しています

myPrj/src/main/java/resources/templatesフォルダ。

そして、すべての Java ソース コードは以下のmyPrj/src/main/javaフォルダーにあります。

レンダリングしようとすると、Ryth が XML ファイルを生成している場合と、ファイル名をそのまま取得している場合があります。

home.template「テンプレート」フォルダーに設定しています:

params.put("home.template", "templates");

String myTemplateString = Rythm.render("MyTemplate.xml", parameters);

Rythm が位置を特定できず、出力としてMyTemplate.xml放出されているようです。MyTemplate.xml

この問題を解決する方法を教えてください。さらに、これらのテンプレートを配置する適切な場所を教えていただければ幸いです。

4

2 に答える 2

0

home.templateテンプレートをレンダリングするためのパラメーターではなく、テンプレート エンジンを初期化するための構成キーです。

あなたのアプリの私の実装は次のようになります

public class App {
    private static RythmEngine engine;

    private static void echo(String msg, Object ... args) {
        System.out.println(String.format(msg, args));
    }

    private static void init() {
        echo("initializing rythmengine");
        Map<String, Object> conf = new HashMap<String, Object>();
        conf.put("home.template", "templates");
        engine = new RythmEngine(conf);
        echo("engine initialized");
    }

    private static void render() {
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("foo", "FOO");
        params.put("bar", "BAR");
        String result = engine.render("MyTemplate.xml", params);
        echo(result);
    }

    private static void doJob() {
        echo("start doing real job now...");
        render();
    }

    public static void main( String[] args ) {
        init();
        doJob();
    }
}

完全なサンプル コードは、https://github.com/greenlaw110/Rythm/tree/master/samples/demo_fo_SO_150529にあります。サンプル コードをダウンロードして実行mvn compile exec:javaし、結果を確認します

于 2015-05-28T20:43:19.397 に答える