4

私のテンプレートはレンダリングされますが、フリーマーカー処理はありません。出力は

<html>
<body>
    <h1>Welcome ${user}</h1>
</body>
</html>  

変数 user は、その値に置き換えられていません。

したがって、Jersey がカスタム ViewProcessor について何かを知っているかどうかはわかりません。Freemarker ViewProcessor を使用したいことを Jersey に明示的に伝えるにはどうすればよいでしょうか。

次のサンプルを見ましたが、役に立ちません http://search.maven.org/#browse%7C-1697896452

要約すると、私は持っています:

私のpom.xmlで

<dependency>
    <groupId>com.sun.jersey.contribs</groupId>
    <artifactId>jersey-freemarker</artifactId>
    <version>1.12</version>
</dependency>

私のJerseyServletModuleで

Map<String, String> params = new HashMap<String, String>();
params.put("com.sun.jersey.freemarker.templateBasePath", "freemarker");
serve("/*").with(GuiceContainer.class, params); 

私のTestResourceで

@Path("/test")
@GET
@Produces("text/html")
public Viewable getMytestView() {
    Map<String, Object> map = new HashMap<String, Object>();
    map.put("user", "Peter");
    return new Viewable("/test.ftl", map);
}

私の src/main/resources/freemarker/test.ftl に

<html>
<body>
    <h1>Welcome ${user}</h1>
</body>
</html>  

よろしくお願いします。

4

1 に答える 1

0

それは今動作します。申し訳ありませんが、それは確かにキャッシュの問題です。

于 2012-05-02T14:07:40.357 に答える