Я пытаюсь изучить Play 2.0 с помощью scala, но не думаю, что вполне понимаю, как работает система шаблонов для play 2.0. Раньше я использовал play 1.2 и ищу аналог #{include 'views/blah.html'/}. По сути, я хочу создать панель навигации, которая отображается на всех страницах.
По сути, в main.scala.html у меня есть
@(title: String)(navbar: Html)(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>
<header>
This is my header
</header>
<section class="navbar">@navbar</section>
<section class="content">@content</section>
<footer>
This is my footer
</footer>
и в моем index.scala.html:
@navbar = {
<h1>Index</h1>
<ul>
<li>
<a href=@routes.Application.tasks>Tasks</a>
</li>
</ul>
}
@main("Home")(navbar){
content
}
в task.scala.html:
@(tasks: List[Task], taskForm: Form[String])
@import helper._
@main("Home") {
<h1>Index</h1>
<ul>
<li>
<a href=@routes.Application.tasks>Tasks</a>
</li>
</ul>
} {
task code
}
Теперь, чтобы включить эту панель навигации, кажется, мне нужно повторить это в на каждой странице таким образом мне пришлось бы жестко кодировать эту панель навигации на каждой странице. Есть ли способ сделать это без написания всей панели навигации на каждой странице?
Я также пытался создать файл navbar.scala.html, который содержит
<h1>Index</h1>
<ul>
<li>
<a href=@routes.Application.tasks>Tasks</a>
</li>
</ul>
, и сохранить его в views/, а затем импортировать его, используя @import views.navbar
, но затем я получаю сообщение об ошибке: «navbar is не член мнений». Я пишу это в Eclipse Java EE IDE индиго, если это поможет.