Невозможно отобразить для l oop в Twirl - PullRequest
0 голосов
/ 09 апреля 2020

В шаблоне twirl я пытаюсь отобразить все строки oop, и текущий код выдаёт мне ошибки кода. Я уверен, что это маленькая деталь, которую мне не хватает ...

Это мой шаблон ...

@(title: String)(content: Html)
<!DOCTYPE html>
<html lang="en">
    <head>
        @* Here's where we render the page title `String`. *@
        <title>@title</title>

    </head>
    <body>
        @content
</script>
    </body>
</html>

И вот где я использую этот шаблон и пытаюсь сделать a для l oop ...

@(names: ("George", "John", "Ally"))

@list("List of names")  {
  <h1>Test</h1>
  <ul>
    @for(name <- names) {
      <li>@name</li>
    }
  </ul>
}

И мой контроллер ...

package controllers;

import play.mvc.*;

public class NewController extends Controller {
    public Result newPage() {
        return ok(views.html.newPage.render());
    }

}

Вот ошибка ....

Compilation error
':' expected but identifier found.

In G:\Github\playExample - Copy\example\app\views\newPage.scala.html:10
6    @for(name <- names) {
7      <li>@name</li>
8    }
9  </ul>
10} 

Чего мне не хватает?

1 Ответ

1 голос
/ 11 апреля 2020

Ваш вопрос по-прежнему очень запутанный.

Я рекомендую вам снова увидеть этот проект https://github.com/pedrorijo91/play-slick3-steps (или любой простой игровой проект).

Вы помечаете это как Scala, но ваш контроллер явно является java контроллером.

В контроллере должно быть что-то вроде:

class Controller @Inject()(val controllerComponents: ControllerComponents) extends BaseController {

  def newPage() = Action { implicit request: Request[AnyContent] =>
    Ok(views.html.newPage())
  }

Затем в представлении вы похоже, первый шаблон в порядке, но я не понимаю вторую часть, которую вы добавили. Это частичное? как называется файл? где / как это называется?

Я бы ожидал что-то вроде этого:

@(names: List[String])

<h1>Test</h1>
<ul>
    @for(name <- names) {
        <li>@name</li>
    }
</ul>

Я не понимаю синтаксис, который вы используете

...