如何使用Intellij想法动态调用页面来播放scala

时间:2014-09-02 05:34:43

标签: html scala intellij-idea playframework

我使用intellij想法在Scala中上传了一个简单的网页模板。如何从不同的文件中调用每个部分,   我从index.scala.html调用每个函数      这是我的main.scala.html

    <html>
    <body  id="page-top" class="index">
       @navigation
          @header
             @services
                  @portfolio
                         @about
                         @team
                  @client
             @contact
          @footer
 </body>
 </html>

如上面的代码所示,如​​何将每个函数@services放在单独的文件中,@portfolio放在单独的文件中。       这是我的index.scala.html

  @(message: String)

   @navigation = { navigation html code}

     @header = {<header> html code</header>}
      @services = {

       <section id="services"><!--html code for reference-->
        <div class="container">
         <div class="row">
          <div class="col-lg-12 text-center">
            <h2 class="section-heading">Services</h2>

          </div>
         </div>
       <div class="row text-center">
        <div class="col-md-4">
            <span class="fa-stack fa-4x">
                <i class="fa fa-circle fa-stack-2x text-primary"></i>
                <i class="fa fa-shopping-cart fa-stack-1x fa-inverse"></i>
            </span>
            <h4 class="service-heading">E-Commerce</h4>

        </div>
        <div class="col-md-4">
            <span class="fa-stack fa-4x">
                <i class="fa fa-circle fa-stack-2x text-primary"></i>
                <i class="fa fa-laptop fa-stack-1x fa-inverse"></i>
            </span>
            <h4 class="service-heading">Responsive Design</h4>

        </div>
        <div class="col-md-4">
            <span class="fa-stack fa-4x">
                <i class="fa fa-circle fa-stack-2x text-primary"></i>
                <i class="fa fa-lock fa-stack-1x fa-inverse"></i>
             </span>
            <h4 class="service-heading">Web Security</h4>

        </div>
      </div>
     </div>
     </section>

    }
@main("hello test")(navigation)(header)(services){  }

我的应用程序包控制器

  import play.api._
  import play.api.mvc._

  object Application extends Controller {
  def index = Action {
  Ok(views.html.index("Ok"))
      }
   }

我的路线

   GET        /                    controllers.Application.index

我希望标题位于同一个文件中。将@services @portfolio转换为不同的不同文件,并将它们动态地称为一页网页。

1 个答案:

答案 0 :(得分:0)

我知道一个解决方案。您必须为每个函数创建一个文件。

navigation.scala.html  

@()
navigation html code

header.scala.html  

@()
<header> html code</header>

等等。 您可以在单独的包/文件夹(mainscala)中创建它并导入所有文件:  

@import views.html.mainscala._

并添加括号:

<html>
    <body  id="page-top" class="index">
       @navigation()
          @header()
....
    </body>
</html>