libro
www.tuyano.com
初心者のためのPlay Framework入門

コントローラーとビューを使おう![Scala編] (3/5)

作成:2013-01-21 08:07
更新:2013-01-21 08:07

■フォームの送信を処理する

続いて、「フォームを送信して情報を送る」ということを行なってみましょう。これには様々なやり方がありますが、ここではもっともシンプル(?)なやり方をしてみます。

※注意!――ここで紹介するフォーム送信の処理は、Play Frameworkの一般的なやり方ではありません。Play Frameworkでは通常、フォームヘルパーという専用の機能を使って、もっとオブジェクティブに処理します。あくまで「送信された情報はこんな具合に扱われている」という例として考えてください。フォームヘルパーについては、改めてとりあげる予定です。

さて、Play Frameworkでは、リクエストの情報は「Request」というオブジェクトとして用意されます。これは通常、こんな具合にして扱います。
def アクション名 = Action { request =>
    ……アクションの処理……
}
Action{}の処理部分に「request =>」というのがついていますね? このrequestが、このアクションのリクエストを管理するRequestオブジェクトになります。ここからリクエスに関する情報を引き出すことができます。

送信されたフォームの情報は、request.bodyにある「asFormUrlEncoded」というメソッドを使うのがよいでしょう。これはフォームからの送信所法をURLエンコードしてMapにまとめたものを返します。これで得られたオブジェクトから「get」メソッドを呼び出せば、指定の名前の値が取り出せるわけです。
変数 = 《Map》.get( 名前 )
こんな具合ですね。name="hoge"と指定されたフォームの値は、get("hoge")で取り出せる、ということですね。ただし! 注意したいのは、「取り出される値は配列である」という点です。同じ名前のものが複数ある場合もあるため、取り出される値は配列の形になっているのです。これは忘れないようにしましょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

※関連コンテンツ

「初心者のためのPlay Framework入門」に戻る