Включить файлы scala.html в play 2.0 scala

Я пытаюсь изучить 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 индиго, если это поможет.

6
задан Darbs 16 May 2012 в 19:02
поделиться