Slim3でJSPにセッション情報を表示する | sola's note

sola's note

日ごろのメモを書いていきます。何か新しいものを作るために。

病的にハマった

Slim3でセッションに格納した情報をJSPで表示するやり方。

JSPに対応するControllerで、forwardを行う前に

sessionScope("hogeList", hogeList);

をする事でセッションにオブジェクトを格納できる。
一方フォワード先のJSPでは

<c:forEach var="hoge" items="${hogeList}">
${f:h(hoge.name)}<br/>
</c:forEach>

とやる事で、配列等を表示できる。

…ハズなんだけど、

最初出来なかったorz
GAEの特徴である、

appengine-web.xmlファイルに
<sessions-enabled>true</sessions-enabled>
を書かないとセッションが使えない

という有名な話は、以前GAEをSlim3を使わずにやった時に
無駄に苦戦させられたので承知の上だったけれど、

それでも出来なく、陥った。
結果から言うと、

Slim3の場合何か設定をしなければいけないというのではなく、
Antで自動生成したJSPには

デフォルトで

<%@page pageEncoding="UTF-8" isELIgnored="false" session="false"%>

が記述されているのが原因です。
よく見て下さい。

後半を。

session="false"

そう

 s e s s i o n =  " f a l s e "

なんだよ。

せっしょんふぉるす!!

知識不足がいけないんだけど、
想定外過ぎると言うのと、

明示的にセッション定義なんて記述したことなかった

というのが…。

orz。。。

無駄に悩んだ。