kuniku’s diary

はてなダイアリーから移行(旧 d.hatena.ne.jp/kuniku/)、表示がおかしな箇所はコメントをお願いします。記載されている内容は日付およびバージョンに注意してください。直近1年以上前は古い情報の可能性が高くなります。

ダミーパラメータってなんだよ!

ブラウザでチェックボックスのvalue値をリクエストする場合に、
選択していない値はリクエストされない

というのはよくある話しなんだけど

そこで、

A画面でcheckboxをチェックした後(1)に、
いったんB画面に移って、
その後にA画面に戻り
先程のcheckboxでチェックしたものを外して(2)
B画面に移ると

(1)でのチェックしたものが、いきてしまって(いったん戻ってチェック外したはずなのに)、
(2)でチェックありの状況になってしまう。

strutsのActionFormをセッション扱いにしているような場合に、発生するんだけど。

reset()メソッド*1があるにも かかわらず、
うまくリセットされないとかで、
毎回hiddenタグ用意して、ダミーパラメータをセットして
リクエストする って仕様を考えおった。


うまくリセットされないってのは、相当特殊なケースではなかろうかと思う。
その特殊なケースのみダミーパラメータで回避するなら、なんとなく話しは
わかるが、全ての画面でそれを使ってる。。。。(泣

これって普通なのか?おい。常識なのか?おい。

  • 知らないで修正する人のこと考えよう。
  • よくよく調べないで、ちょっとダメだからってダミーとか、苦肉の策はやめよう。
  • メンテのこと考えよう。余分なことに神経使わないようにしよう。
  • まっとうに使えない共通仕様?共通規約?を無視するぜ。

悲惨><。

*1:s2strutsならば、s2struts:checkboxのカスタムタグ、public void reset()をPOJOFormに定義する