Can't find view in subfolder

后端 未结 2 1494
被撕碎了的回忆
被撕碎了的回忆 2020-12-20 04:04

I just started using the Play2.0 Framework and I\'m trying to use the main template in my home/index template. The issue I\'m having is it can\'t find \"main\"

相关标签:
2条回答
  • 2020-12-20 04:24

    Once you get into subfolders for views there is this like "pseudo-package" called "html". I'm not entire sure how it works but try this:

    @views.html.Shared.main
    
    0 讨论(0)
  • 2020-12-20 04:31

    You can use:

    @Shared.main(title = "Home",head, content)
    

    For security and performance reasons Play compiles templates to Scala functions and stores it in managed folder /target/scala-2.9.1/src_managed/main/views, so you can preview it to find correct path.

    rules are easy for view files saved with pattern:

    • /app/views/viewName.scala.ext (where ext can be html, xml or txt) Play will compile views to: view.ext.viewName
    • and for /app/views/SomeSub/OtherSub/viewName.scala.ext it will be: view.ext.SomeSub.OtherSub.viewName

    so:

    /app/views/general.scala.html             = views.html.general
    /app/views/Main/index.scala.html          = views.html.Main.index
    /app/views/Api/usersList.scala.xml        = views.xml.Api.usersList
    /app/views/Email/English/body.scala.txt   = views.txt.Email.English.body
    

    etc...

    There is some case with /app/views/tags package which is auto imported to the views, so you can use /app/views/tags/myTag.scala.html just with: @tags.myTag(args) syntax in any view.

    0 讨论(0)
提交回复
热议问题