Декларация относительно переменной содержимого

Я новая игра. Я просматривал учебные пособия и образцы, предоставленные игровой рамкой. Я мог успешно отрисовать приложение 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 описано значение первой строки. Здесь мы видим, что требуются две группы параметров.

Две группы параметров:

  1. String параметр, содержащий заголовок
  2. 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))
}

Здесь объект формы внедряется в шаблон.

Другие вопросы по тегам