Декларация относительно переменной содержимого
Я новая игра. Я просматривал учебные пособия и образцы, предоставленные игровой рамкой. Я мог успешно отрисовать приложение helloworld, предоставленное образцами playframework. У меня мало сомнений относительно части рендеринга main.scala.html. #
Это программа по умолчанию, которую я получил из samples / helloworld
@(title: String)(content: Html)
<!DOCTYPE html>
<html>
<head>
<title>@title</title>
<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")">
<link rel="shortcut icon" type="image/png" href="@routes.Assets.at("images/favicon.png")">
<script src="@routes.Assets.at("javascripts/jquery-1.6.4.min.js")" type="text/javascript"></script>
</head>
<body>
<header>
<a href="@routes.Application.index">@title</a>
</header>
<section>
@content
</section>
</body>
</html>
Здесь, когда я закомментировал тег @content в секции, я не могу видеть поля. Теперь мой вопрос, где @content отображается в поле формы?
Я создал другую структуру для моего макета и добавил @content в раздел контента. но это не вписывается в это, так что теперь мой вопрос - @content, где это определено, что это - контейнер div, у него есть некоторый рост и вес и все? Я не мог понять. Пожалуйста, помогите мне. Пожалуйста, найдите мой индивидуальный код ниже
@(title: String)(content: Html)
<!DOCTYPE html>
<html>
<head>
<title>@title</title>
<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")">
<link rel="shortcut icon" type="image/png" href="@routes.Assets.at("images/favicon.png")">
<script src="@routes.Assets.at("javascripts/jquery-1.7.1.min.js")" type="text/javascript"></script>
</head>
<body>
<div id="container" style="width:500px">
<div id="header" style="background-color:#FFA500;">
<h1 style="margin-bottom:0;">Main Title of Web Page</h1></div>
<div id="menu" style="background-color:#FFD700;height:200px;width:100px;float:left;">
<b>Menu</b><br>
HTML<br>
CSS<br>
JavaScript</div>
<div id="content" style="background-color:#EEEEEE;height:200px;width:400px;float:left;">
@content</div>
<div id="footer" style="background-color:#FFA500;clear:both;text-align:center;">
Copyright © W3Schools.com</div>
</body>
</html>
1 ответ
Вступление
Из параметров Template в документации Play Template описано значение первой строки. Здесь мы видим, что требуются две группы параметров.
Две группы параметров:
String
параметр, содержащий заголовокHtml
параметр, содержащий некоторое содержимое HTML
использование
Чтобы использовать этот шаблон, необходимо указать две группы параметров. В контексте приложения helloworld оно вызывается из app/views/index.scala.html
как это:
@main(title = "The 'helloworld' application") {
<h1>Configure your 'Hello world':</h1>
... more HTML elided
}
Этот шаблон описан в http://www.playframework.com/documentation/2.2.x/ScalaTemplateUseCases, где HTML вводится в шаблон.
main.scala.html
содержит шаблон (content
содержит HTML-код для вставки).index.scala.html
содержит пример внедрения в этот шаблон.
Обратите внимание, что вызов @main(...)
вызывает шаблон, который определен в main.scala.html
. Аналогично, звоню @my_template(...)
вызовет шаблон, определенный в my_template.scala.html
,
В этом случае HTML для формы определяется внутри index.scala.html
,
Вызов шаблона
Наконец, корневой шаблон вызывается из контроллера. Для приложения helloworld шаблон, определенный в index.scala.html
вызывается кодом
def index = Action {
Ok(html.index(helloForm))
}
Здесь объект формы внедряется в шаблон.