gpt4 book ai didi

java - 如何在 Spark Web 框架和 Velocity 模板框架中创建 for 循环?

转载 作者:行者123 更新时间:2023-12-01 10:44:12 24 4
gpt4 key购买 nike

这是我的 Main.java

public class Main {
public static void main(String[] args) {

// Create some students
Student students[] = new Student[4];

students[0] = new Student("Abe");
students[1] = new Student("Bill");
students[2] = new Student("Chris");
students[3] = new Student("Darrel");

staticFileLocation("/public");

String layout = "templates/layout.vtl";

get("/", (request, response) -> {
HashMap model = new HashMap();
model.put("template", "templates/home.vtl" );
return new ModelAndView(model, layout);
}, new VelocityTemplateEngine());

get("/view_students", (request, response) -> {
HashMap model = new HashMap();

model.put("students", students );
// model.put("student", new Student() );

return new ModelAndView(model, "templates/view_students_layout.vtl");
}, new VelocityTemplateEngine());

}
}

这是 view_students_layout.vtl

<!DOCTYPE html>
<html>
<head>
<title>Hello Friend!</title>
<link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css'>
</head>
<body>
<div class="container">

<h1>Students</h1>

<ul>

#foreach( $Student in $students )
<li>${Student.name}</li>
#end

</ul>

</div>
</body>
</html>

当我运行 Spark 时,我得到以下内容

<!DOCTYPE html>
<html>
<head>
<title>Hello Friend!</title>
<link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css'>
</head>
<body>
<div class="container">

<h1>Students</h1>

<ul>

<li>${Student.name}</li>
<li>${Student.name}</li>
<li>${Student.name}</li>
<li>${Student.name}</li>

</ul>

</div>
</body>
</html>

我遗漏或误解了什么?我是否以错误的方式将数组发送到框架?

谢谢。

最佳答案

Student 类必须具有 public String getName() 方法或 public String get(String key) 方法。您要么尝试直接访问 name 字段,要么忘记将其访问器公开。

如果您想直接向模板公开公共(public)字段,则需要 2.0.0-SNAPSHOT 版本(开发版本)。请参阅http://velocity.apache.org/engine/devel/developer-guide.html 可插入自省(introspection)部分。

关于java - 如何在 Spark Web 框架和 Velocity 模板框架中创建 for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34280002/

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