java-在jersey上使用胡须模板
作者:互联网
我想将基于Mustache的模板与Jersey 2集成在一起.
在我的pom.xml中,我有:
<dependency>
<groupId>org.glassfish.jersey.ext</groupId>
<artifactId>jersey-mvc-mustache</artifactId>
<version>2.9</version>
</dependency>
我的资源类如下所示:
@Path(value = "/appstatus")
public class AppStatusChecker
{
@Template(name = "/index.mustache")
@GET
public Context getStatus() {
return new Context(4);
}
public static class Context {
public Integer value;
public Context(final Integer value) {
this.value = value;
}
}
}
在我的web.xml中,我有以下内容:
<init-param>
<param-name>jersey.config.server.mvc.templateBasepath.mustache</param-name>
<param-value>/templates</param-value>
</init-param>
部署应用程序时,在WEB-INF / classes下,我有一个文件夹模板,其中带有index.mustache.内容是:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Simple mustache test</title>
</head>
<body>
<h1>This is mustacheee</h1>
{{value}}
</body>
</html>
调用myapp / appstatus URL后,我看到的是:{“ value”:4},但是我希望有一些HTML.我缺少设置的一些重要部分吗?
解决方法:
我必须像这样注册我的提供者:
final ResourceConfig rc = new ResourceConfig().property(
MustacheMvcFeature.TEMPLATE_BASE_PATH, "templates"
).register(
MustacheMvcFeature.class
).packages("com.example");
return GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URI), rc);
不知道您是否正在使用Grizzly.但是,也许这会帮助某人.
https://jersey.java.net/documentation/latest/mvc.html#mvc.registration
标签:template-engine,jersey-2-0,mustache,java 来源: https://codeday.me/bug/20191029/1959796.html