Apexでクッキーを扱う

Apexでクッキーは、今まで扱ったことがなく、ちょっと詰まったのでメモ。

セット

クッキーをセットするには以下のようにする。
ページに対してクッキーを作成する形のよう?

1
2
Cookie hoge_val = new Cookie('hoge', 'hogehoge', null, -1, true);
ApexPages.currentPage().setCookies(new Cookie[]{hoge});

Cookieクラスのコンストラクタは以下の通り。

  1. クッキーの名前
  2. セットしたい値
  3. パス
  4. 保存期間(秒)
  5. セキュアか

第4引数の秒は、-1を指定するとブラウザうを閉じるまで、
0を指定すると削除、となる。

削除

よって、削除したい場合は以下のように同じ値で0病にセットするとよい。

1
2
Cookie hoge_val = new Cookie('hoge', null, null, 0, true); 
ApexPages.currentPage().setCookies(new Cookie[]{hoge_val});

取得

取得は以下のように。

1
2
Cookie get_hoge = ApexPages.currentPage().getCookies().get('hoge');
System.debug(get_hoge.getValue());

getValue()でセットされている値を取得することになる。

参考

   このエントリーをはてなブックマークに追加