この場所は非常に弱く、ブラウザ http://localhost:9000/index.html -> conf/routes -> app/controllers/Application.scala -> def index = Action -> {Ok(views.html.index("Hello World!"))} -> 本文の内容をプレーンテキストまたは HTML 形式で返します。
これは次のように理解する必要があります。 , ほとんどの言語は同様の構造を持っています。(こんな感じです)
調べてみると、デフォルトファイルの下にあるindex.scala.htmlがコンテンツ表示ページで、main.scalaであることがわかりました。 .html はレイアウトです。理解できない場合は、情報を確認してください
プレイ テンプレートは HTML に基づいた Scala 言語に直接基づいています。テンプレート ファイルは通常、view ディレクトリに配置され、ファイルには 2 つの拡張子が付いています。 「.scala.html」。各テンプレート ファイルは Scala コードであり、Scala コンパイラーと構文によってチェックされ、.class 実行可能 JVM バイナリ ファイルにコンパイルされる必要があります。 .scala.html テンプレート ファイルを .scala ソース コード ファイル (/app/views/index.scala など) に再生します。 .html テンプレート ファイルは、/target/scala-2.9.1/src_managed/main/views/html/ を生成します。 index.template.scala ファイル。このファイルは、Scala コンパイラーによって Index.class にコンパイルされます。
index.scala.html ファイルを解析します:
@(message: String)@*模板入参,类型为String类型,命名为message*@@*调用main.scala.html模板,传入参数message*@@main("Welcome to Play") { @*这里调用了play中自带的一个欢迎模板插入message*@ @play20.welcome(message)}
Play テンプレートでは、@ 記号は、次のコードが Scala コード ブロックであることを表します。これは、.scala.html ファイルは最終的に次のコードにコンパイルされるためです。 Scala.index.scala.html ブロックはテンプレート ファイルをオブジェクトとして扱い、渡されるすべてのパラメータは Java データ型を確認する必要があります。
@*我是注释*@
Scala コードは @ で始まるので、 @**@ は覚えやすいコメントです
上記のindex.scala.html と組み合わせて、Application.scala のアクションを見てください
def index = Action { Ok(views.html.index("Hello World!")) }
インデックスは 1 つのパラメータを受け取ります。複数のパラメータを受け取ってみてください。 index.scala.html
def index = Action { Ok(views.html.index("Your new application is ready.","我在哪里")) }
では、main.scala.html の
@(message: String,exmple: String)@*这里声明的格式与Application中的格式一致*@@*此处main中接收的格式也是2个*@@main(message,exmple) { @*方法体里面(也不知道这里该用什么专业的名称,暂且叫方法体.)就是HTML页面中显示的内容*@ <p>学习笔记</p> <a href="">凡事不可以</a>}
を呼び出す方法を見てください。ヘッダー内のパラメータが正しく定義されており、そのパラメータを任意に表示できます。 Index.scala.html ファイル内の @main(){...} メソッド本体。内部の HTML コード。