Допустим, есть две шаблоны scala в папке вида
Теперь я хочу передать первый шаблон в 2-й шаблон (container.scala.html) из контроллера. Подобно:
public class Application extends Controller {
static Result isItPossible()
{
Result theFile=ok(file1.render());
return ok(container.render(theFile));
}
}
Является ли это возможным? Если да, то как я могу это сделать?
Вы можете передать отображаемый шаблон в шаблон container
. container
должен иметь некоторый параметр Html
:
container.scala.html:
@(content: Html)
<p>Here my content: @content </p>
И изнутри контроллера:
public class Application extends Controller {
return ok(container.render(file1.render()));
}
Стоит отметить, что вам не нужно комбинировать контейнеры для упаковки в контроллере, поскольку механизм шаблонов имеет возможность использовать макеты для него (как описано в документах). В этом случае вы можете использовать его так:
container.scala.html
@()(content: Html)
<p>Here my content: @content </p>
file1.scala.html
@container() {
<b>this is content of <i>file1</i> template</b>
}
контроллер
public class Application extends Controller {
static Result itIsPossible() {
return ok(file1.render());
}
}