2012-05-02 12 views

答えて

3

ソリューションをごGroovy template engine使用している場合は、PlayFramework 1.xの

について話しているという仮定に基づいています。

Map<String, Object> args = ... 
Template template = TemplateLoader.load("path/to/template.suffix"); 
String s = template.render(args); 

Rythm template engineを使用している場合、ショートカット方法があります。

String s = Rythm.render("path/to/template.suffix", param1, param3...); 

またはあなたはまた、名前付き引数を使用することができます。

Map<String, Object> args = ... 
String s = Rythm.render("path/to/template.suffix", args); 

テンプレートファイルがapp/rythmフォルダの下に置かれている場合も、リズムのために働くGroovyの道を。

+0

はい、1.2.4、ありがとうございます。 – Brian

0

green answerに加えて。

jsonを作成する場合は、Groovyテンプレートを使用して独自の文字列を作成するのではなく、gsonを使用する方がよいでしょう。 GsonはPlay Framework 1.2.Xに含まれています。

詳細はhereです。 Gsonの例doc:

class BagOfPrimitives { 
    private int value1 = 1; 
    private String value2 = "abc"; 
    BagOfPrimitives() { 
     // no-args constructor 
    } 
} 


BagOfPrimitives obj = new BagOfPrimitives(); 
Gson gson = new Gson(); 
String json = gson.toJson(obj); 
//json is {"value1":1,"value2":"abc"} 

gsonの代わりにFlexjsonを使用することもできます。

+0

私はすでにこのためにorg.codehaus.jackson.map.ObjectMapperを使用していました。私はちょうどJSONファイル形式を舞台裏で隠される代わりにテンプレートとして表示する方法を望んでいました。あるものが他のものより優れているかどうかは確かではありませんが、パフォーマンス上の考慮事項があります(ただし、今はそのことについて実際には気にしません)。 – Brian

+0

groovyをテンプレートに使用するとgsonやjacksonよりも遅くなる可能性があります。rythmやjapidを使用するとテンプレートアプローチの方がgson/jacksonよりも優れています。静的コンパイルJavaクラス –

+0

+1 for Japid 、非常に強力な – iwalktheline

関連する問題