ひとたびダメとなると

<< 戻る   トップ >>

マネージドビーンの寿命の問題をクリアできて、あとは淡々とプログラムすればよいのだと思っていたら新たなる問題が。

ページャの操作のため、ありがちな前進・後退ボタンをつけた。トップページにアクセスすると、最新記事から表示されるから前進はできても後退はできない。そこで、後退ボタンを不活性表示 (disabled="true") することにした。

一度前進すれば、後退できるようになるから、後退ボタンを活性化する (disabled="false")。表示に限っていえば、この目論見はうまくいった。ところが、活性化表示されている後退ボタンをクリックしても、なにも起こらない。前進・後退ボタンは Type="sumbit" だから、再ロードは起こるものの、ちっとも後退しない。マネージドビーンで後退を司るメソッド doPrevious() がコールされないのだ。

もしかすると、最初に disabled="true" になっていると、後から false に変わっても action と結びつかないのではないか。ためしに、最新記事ではなくその一つ前の記事から表示するように変更してみた。後退可能な状態で初期化されるのである。予想通り、前進・後退とも問題なし。最新記事に達すると、後退ボタンは非活性化されるのものの、一旦前進すれば後退が機能する。どうやら初期化時に無効化されると、action への接続を失うらしい。そうなると、ページの初期化が完了してから後処理で不活性化したい。

JavaScript を使えばなんでもない処理なんだが、今回は JavaScript 抜きでつくろうと思っている。なにか JSF の後処理に関する記述を読んだ記憶もあるんだけど。


作成: 2014-06-14 07:21:25.0更新: 2014-06-14 07:21:25.0
http://museo-anonimo.jp/nanban/?id=1282,http://museo-anonimo.jp/nanban/tr/1282