Como compor uma lista/stringbuilder para o modelo
-
02-01-2020 - |
Pergunta
Eu tenho uma lista de objetos que eu obtidas a partir de um Arquivo JSon.Eu estou tentando torná-los na index.scala.html para criar uma tabela, mas eu sou incapaz de fazê-lo.De ajuda?
Eu tentei @(StringBuilder: mystring)
e não funcionou.
Eu queria saber depois que eu sou bem sucedido (espero) na prestação lista/stringbuilder para o modelo como posso usá-lo para fazer uma tabela?
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()));
}
Solução
Meu Java está um pouco enferrujado, de qualquer forma você está chamando toString()
no StringBuilder
mas o modelo que você tem @(StringBuilder: mystring)
qual é o tipo errado e a sintaxe errada, deve ser @(myString: String)
.
Se, em vez disso, você deseja passar o StringBuilder
para o modelo, basta evitar chamar toString
e a vincular a variável como este @(mystring: StringBuilder)
.
Para List
s, basta ligar a variável no modelo @(integers: List[Int])
e, em seguida, usar map
<ul>
@integers.map { someInt => <li>@someInt</li> }
</ul>
ou mais simples @for
função:
<ul>
@for( someInt <- integers) { <li>@someInt</li> }
</ul>
Mais informações e também alguns exemplos também estão no Jogar documentação para Java.
Outras dicas
Em primeiro lugar, Para receber os dados no modelo, tipo de dados deve sempre ser declarado depois de criar a variável.Ele deve ser @(myString :StringBuilder).Em segundo lugar, você tem de enviar um tipo de dados errado para o modelo.você tem de enviar os dados do tipo Cadeia mas você está tentando receber os dados do tipo StringBuilder