Teedaでログイン管理(3)
id:imaginatorさん、原因追及&トラックバックありがとうございました。
というわけで、loginMessage→loginMsgに変更してみました。知らずに規約に従ってしまうとは…。まぁありがちですので、気をつけないといけないですね。
また、formタグをログイン判定divの外に出してみてトライ。オールグリーンです( ̄ー+ ̄)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:te="http://www.seasar.org/teeda/extension" xml:lang="ja" lang="ja"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>login test</title> </head> <body> <p><span id="count">n</span>回目の表示</p> <form method="POST"> <div id="isLoggedin"> <p><span id="userId">ユーザ名</span>さんではない場合は、 < !-- <a href="?doLogout">ログアウト</a> -- > <input id="doLogout" type="submit" value="ログアウト" />してください。</p> </div> <div id="isNotLoggedin"> ユーザID <input id="userId" type="text"/><br/> パスワード <input id="password" type="password"/><br/> <input id="doLogin" type="submit" value="login"/> <p><span id="loginMsg">ログイン成否表示場所</span></p> </div> </form> </body> </html>
Pageクラスの方はほとんど変えてない(loginMessage→loginMsgにしたダケ)ので、省略します。
<a href="?doLogout">ログアウト</a>
これは、上手くいくかなーー?と思ってチャレンジで書いてたんですが、やっぱり上手くいかなかったです。_| ̄|○
アンカータグ(aタグ)でdo系メソッドを起動するには、やっぱりlogout.htmlを作ってそのprerenderにログアウト処理を書くしかない…かな?
現在のところ、(せっかくformタグの中にあるので)submitボタンを作って凌いでいますが、なんとなく違和感ありますよね。
なんとかアンカータグでログアウトできるようになった時に、外側にformがあるのも、なんか不自然な設計に感じます。isLoggedinの中で、さらに別のformを作ることになったら、formが入れ子になってしまいますし。
ダメではないんでしょうけど、違和感max。