我有一个从JSon文件中检索的对象列表。我试图将它们渲染到index.scala.html来创建一个表,但我无法这样做。帮助
我尝试了@(StringBuilder: mystring)
但它没有用。
我想知道在成功(希望)将list / stringbuilder渲染到模板后如何使用它来创建表格?
public static Result index() {
List<MetaModel> arr = getData();
StringBuilder myString = new StringBuilder();
for(MetaModel model : arr)
{
myString.append(model.toString());
}
return ok(index.render(myString.toString()));
}
答案 0 :(得分:1)
我的Java有点生疏,无论如何你在toString()
上调用StringBuilder
,但在你有@(StringBuilder: mystring)
的模板中,这是错误的类型和错误的语法,它应该是@(myString: String)
。
如果您希望将StringBuilder
传递给模板,只需避免调用toString
并绑定变量@(mystring: StringBuilder)
。
对于List
,只需将变量绑定到模板@(integers: List[Int])
中,然后使用map
<ul>
@integers.map { someInt => <li>@someInt</li> }
</ul>
或更简单的@for
功能:
<ul>
@for( someInt <- integers) { <li>@someInt</li> }
</ul>
更多信息以及Play documentation for Java上的一些示例。
答案 1 :(得分:0)
首先,要在模板中接收数据,应始终在创建变量后声明数据类型。它应该是 @(myString:StringBuilder)。 其次,您已向模板发送错误的数据类型。您已发送字符串类型的数据,但您正在尝试接收 StringBuilder
类型的数据