从火花传递到速度

时间:2016-11-07 00:16:43

标签: java templates velocity spark-java

我是Spark新手,我正在使用速度模板引擎。

get("/", (request, response) -> {
   return new ModelAndView(new HashMap(), "/index.html"); 
}, new VelocityTemplateEngine());

正常工作,正如网站上的示例一样,正确显示我的HTML。

我需要在模板上输入一段文字。我已经通过在实际模板上使用套件来管理这个 - 但是我如何从我的spark(java)传递到速度模板?

我不是想在这个速度模板上得到任何复杂的东西 - 只是一个简单的字符串或整数。

我试着看一些例子,但没有发生任何事情 - 许多例子似乎与我自己有不同的设置。我正在尝试的代码 -

VelocityContext context = new VelocityContext();
                    context.put("test", "string");
                    return new ModelAndView(context, "/index.vtl");

我想使用test作为名称和字符串作为值,例如#set($ test =“string”)。这看起来很简单 - 我习惯用Flask这样的东西来做这件事,但我很难找到一个带火花的例子。谁能指出我正确的方向?

1 个答案:

答案 0 :(得分:1)

您的第一个代码是正确的100%,但您必须填写所需的值以传入java Map:

get("/", (request, response) -> {
Map<String, Object> values = new HashMap<>();
values.put("name", "Some name");
return new ModelAndView(values, "/index.html"); 
}, new VelocityTemplateEngine());

并且VelocityTemplateEngine是Spark中的一个类,它将处理将值设置为Velocity上下文并呈现模板。