ラベル session の投稿を表示しています。 すべての投稿を表示
ラベル session の投稿を表示しています。 すべての投稿を表示
このページの記事一覧
● 2013年6月16日日曜日 - [Play] Play Framework のセッション

2013年6月16日日曜日

[Play] Play Framework のセッション

Play Framework には Tomcat のような HTTP セッションがない。
Play でのセッションは Cookie として実現されている。
Play でセッションを使う場合にはこのようなコードになる。
package controllers

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

object Application extends Controller {
  def index = Action.apply { request => 
      val currentVal : String = request.session.get("hoge") match {
         case Some(x) => x;
         case None => "";
      }
      
      Ok("hoge = " + currentVal).withSession(
            request.session + ("hoge" -> "hogege"));
  }
}

request.session.get は Option を返すので、 パターンマッチで SomeNone かを判定して、Some から値を取り出す必要がある。
もしくは、Option.getOrElse を使って、
      ...
      val currentVal : String = request.session.get("hoge").getOrElse("");
      ...
とする。こっちの方が簡単でいい。