Controller

以下の3つのコントローラーは基本importしておくのが鉄板らしい

1. playパッケージ

Playアプリケーション全体に関する機能を提供するクラスがまとめられている。アプリケーション設定やログ出力、ルーティング情報などといったものに関するクラスを保持。

2. paly.mvcパッケージ

MVCの諸機能に関するクラス類がまとめれれている。

3. viewsパッケージ

Viewで必要とされる機能(ヘルパーと呼ばれる機能など)に関するクラスがまとめられている。

ActionとResult

Controllerにはクライアントからのアクセスに応じて実行されるメソッドが用意され、それをActionと呼ぶ。ActionにはResultが返される。

  • okメソッド

okメソッドはResultインスタンスを返す。単に返すのではなく、指定したアドレスに正常にアクセス出来たことを保証するResultや、エラーが発生したことを知らせるResultを返す。引数には、コンテンツやファイルインスタンスを指定する。

  • renderメソッド

renderメドッソは引数の値を渡して、Webページのテンプレートをレンダリングする。返り値はHtmlクラスのインスタンスで、これはContentとして扱うことが可能。

View

Play Frameworkではページ全体のレイアウトとコンテンツを分けて作成することができる。ページ全体のレイアウトを担当する「テンプレート」、ビューを担当するものが「ActionとResultによって生成されるコンテンツ」と2つに分類される。

テンプレート

テンプレートは、冒頭に@をつけることでScalaのスクリプトを記述することができる。引数が1つの場合は、()を省略することが可能。これによりControllerから渡される引数を受け取ることができる。注意点として、ControllerとViewの引数宣言は以下を守らなければならない。

  • 受け渡す型が同一である
  • 引数の数が同一である
  • 順番が同一である

ルーティング

「どのアドレスにアクセスしたらどれを表示するか」といった、アドレスと表示のマッピング情報のこと。

GET      アドレス    呼び出すメソッド
POST     アドレス    呼び出すメソッド

上記のように、「HTTPメソッド」「アドレス」「メソッド」の3つを空白で区切って表現する。

今すぐシェアしよう!
今すぐシェアしよう!