当前位置: 首页 > 面试题库 >

在Play 2.0中如何将多个参数传递到模板中?

葛宏爽
2023-03-14
问题内容

我想同时向我的模板渲染2样东西:

String one = "one"; 
String two = "two";
return ok(template.render(one,two));

但是Playframework说,这是错误的。那么如何同时渲染2个值呢?我应该将它们保存到列表中吗?但是然后我必须再次将其解压缩到模板中。

请帮忙!感谢任何帮助!


问题答案:

2.0中的播放模板只是Scala函数,因此您需要在模板的开头(从第1行开始)声明params:

@(one: String, two: String)

This is first param: @one <br/>
This is second param: @two

查看模板文档以获取详细信息

地图

另一方面,如果您需要传递大量相同类型的变量,那么也是Map很好的解决方案:

public static Result index() {

    Map<String, String> labels = new HashMap<String, String>();

    labels.put("first", "First label");
    labels.put("second", "Second label");
    // etc etc
    labels.put("hundredth", "Label no. 100");

    return ok(template.render(labels));
}

template.scala.html

@(labels: Map[String, String])

@labels.get("first") <br/>
@labels.get("second") <br/>
.....
@labels.get("hundredth")

查看模型

最后,为了使事情更加类型安全,您可以创建自己的view modelslike(示例):

package models.view;

import java.util.Date;

public class MyViewModel {

    public String pageTitle = "";
    public Date currentDate = new Date();
    public Integer counter = 0;
    // etc...

}

控制器:

public static Result myActionUsingModel() {
    MyViewModel data = new MyViewModel();
    data.pageTitle = "Ellou' World!";
    data.counter = 123;

    return ok(myViewUsingModel.render(data));
}

视图:

@(data: models.view.MyViewModel)

<h1>@data.pageTitle</h1>

<div>Now is: @data.currentDate</div>
<div>The counter value is: @data.counter</div>


 类似资料:
  • 问题内容: 我想将两个数据对象传递给Go Template。一个是MongoDB查询结果,另一个是整数数组。 MongoDB查询: 我想通过以下代码发送“结果”和一个int数组 如果只有db结果,我们可以将其用作 在模板中,我们可以访问它{{.Name}}等(其中Name是[] User的结构字段) 请告诉我如何传递这些数据以及如何在模板中访问它们。 问题答案: 你可以仅通过一个单一的值,但该值可

  • 问题内容: 我试图弄清楚如何在URL中传递多个参数。我想将纬度和经度从我的android类传递给Java servlet。我怎样才能做到这一点? 在这种情况下,输出(写入文件)为。这是可行的,但我想在两个单独的参数中传递纬度和经度,以便减少在服务器端的工作。如果不可能,我如何至少在&之间添加一个空格,以便可以使用class获取经度和纬度。我试过以下行,但无济于事。 我的servlet代码如下: 我

  • 本文向大家介绍在 mapper 中如何传递多个参数?相关面试题,主要包含被问及在 mapper 中如何传递多个参数?时的应答技巧和注意事项,需要的朋友参考一下 1、第一种:   2、第二种:使用 \@param 注解:   然后,就可以在 xml 像下面这样使用(推荐封装为一个 map,作为单个参数传递给mapper)   3、第三种:多个参数封装成 map

  • 问题内容: 我的应用程序调用了一个返回字典的API。我想将信息从此字典传递给视图中的JavaScript。具体来说,我在JS中使用Google Maps API,因此我希望向其传递包含长/短信息的元组列表。我知道会将这些变量传递给视图,以便可以在HTML中使用它们,但是如何将它们传递给模板中的JavaScript? 问题答案: 将几乎所有Python对象都转换为JavaScript对象的理想方法是

  • 我的应用程序调用一个返回字典的API。我想将这个dict中的信息传递给视图中的JavaScript。我在JS中特别使用了Google Maps API,所以我想传递给它一个包含long/lat信息的元组列表。我知道会将这些变量传递给视图,以便它们可以在HTML中使用,但是我如何才能在模板中将它们传递给JavaScript呢?

  • 问题内容: 我的结构是这样的: 而结构是: 我主要尝试这样做: 是否可以在模板内部执行类似的操作? 问题答案: 引用的文档,该操作的语法: 这意味着您可以将一个可选数据传递给模板执行,而不是更多。如果要传递多个值,则必须将它们包装为传递的某个单个值。 因此,我们应该将这些数据包装到struct或map中。但是我们不能在模板中编写Go代码。我们可能要做的是注册一个函数,将这些数据传递给该函数,该函数