gpt4 book ai didi

java - 在 Jersey 上使用 mustache 模板

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:13:14 25 4
gpt4 key购买 nike

我想将基于 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 下,我有一个文件夹 templates,里面有 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

关于java - 在 Jersey 上使用 mustache 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24387887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com