私のテンプレートはレンダリングされますが、フリーマーカー処理はありません。出力は
<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>
よろしくお願いします。