Как я могу использовать xxx.scala.html в контроллере платформы Play2.0

Я новичок, использую фреймворк play2.0. Теперь у меня проблема с использованием xxx.scala.html. В Eclipse я добавил xxx.scala.html, но я не могу использовать функцию «xxx.render()» для рендеринга моего html.

Теперь я создаю пакет form1.scala.html в представлении. Я хочу отобразить этот html в контроллере следующим образом: «вернуть ok (form1.render ());». Но это невозможно. Почему я не могу?

Я проверил Play-Sample (пример: приложение «форма»). В этом классе контроллера приложения он использовал form1.scala.html, form2.scala.html, summary.scala.html и т. д., защищаясь самостоятельно. Это нормально. Но я не могу использовать так.


person Dick Niu    schedule 26.07.2013    source источник


Ответы (1)


views — это обычный пакет Scala/Java, но когда компилятор шаблонов запускается, он добавляет пакет 'html' под тот, в который он помещает скомпилированные шаблоны. Таким образом, исходный код app/views/myTemplate.scala.html приводит к функции views.html.myTemplate

Шаблоны представлений сами по себе являются функциями, а не классами или объектами, имя файла становится именем функции, render() метода нет.

Итак, если у вас есть файл app/views/myTemplate.scala.html, вы сможете использовать его следующим образом:

Ok(views.html.myTemplate())

or

import views.html.myTemplate
Ok(mytemplate())
person johanandren    schedule 26.07.2013
comment
Спасибо за ваше время объяснения для меня. Я решил проблему. Когда я добавляю новый html, я должен запустить игру в eclipse и обновить приложение в Eclipse. - person Dick Niu; 04.09.2013