java - 从 Spark Web 框架在 Freemarker 模板上呈现列表

标签 java web frameworks freemarker spark-java

我有以下方法在模板上呈现用户列表,但在 IntelliJ 中启动 Spark 时出现 500 内部错误。

private void renderTemplate() throws IOException, TemplateException {
        List<String> users = new ArrayList<>();
        users.add("John Doe");
        users.add("Tony Doe");

        get("/admin", (request, response) -> {
           return new ModelAndView(users, "spark/template/freemarker/admin_template.ftl");
        }, new FreeMarkerEngine());
    }

我的admin_template.ftl的内容是:

<html>
<head>
    <title>Administration</title>
</head>
<body>


<h1>My Admin</h1>

<#list users as user>
    <h2>$user</h2>
</#list>
</body>
</html>

有谁知道如何在 freemarker 模板上呈现列表?谢谢回复!

最佳答案

渲染列表变化

<#list users as user>
    <h2>$user</h2>
</#list>

<#list users as user>
    <h2>${user}</h2>
</#list>

admin_template.ftl 中修改 renderTemplate 如下:

private void renderTemplate() throws IOException, TemplateException {
        List<String> users = new ArrayList<>();
        users.add("John Doe");
        users.add("Tony Doe");

        Map<String, Object> attributes = new HashMap<>();
        attributes.put("users", users);    

        get("/admin", (request, response) -> {
           return new ModelAndView(attributes, "spark/template/freemarker/admin_template.ftl");
        }, new FreeMarkerEngine());
    }

如果这不能解决问题,则 FreeMarkerEngine 可能有一个单独的问题导致错误消息“500 Internal Error”,即您的 FreeMarkerEngine 对象在运行时找不到模板文件 admin_template.ftl。查看 FileNotFoundException when loading freemarker template in java 的答案有关如何处理该问题的详细信息。

关于java - 从 Spark Web 框架在 Freemarker 模板上呈现列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23667199/

相关文章:

python - SocketServer Python

java - 大型数据集的三重存储

php - 检查网站上是否加载了我的 javascript

java - 这是一个好习惯吗? "/*/something/*/something//*/"

android - Android table (Nexus) 上的全高网站

google-app-engine - Google Web Starter Kit 与 AppEngine/Jinja2 集成的最佳实践

PHP:我可以与我的数据库表结构一起使用的 ORM 框架或库

javascript - 玩!框架 : Best practice to use URLs in separate JavaScript files?

java - 为 Restful 方法编写 RequestBody

Java EE @Resource 未映射到 web.xml