
明細行のチェックボックスで、選択した状態で画面再表示時にチェックを外した場合、再度画面を表示すると外したはずのチェックが戻ってしまいます。
現象
1.下記「作成したJSP」のチェックボックスを選択し、サーバへ送る。
2.「ViewList」内のチェックボックス「testCheckBox」(boolean型)にtrueが設定される。
※ViewListはtestActionFormのList型で、javaでもIteratorで1件づつtestActionFormを取得し、「testCheckBox」を確認している
3.上記1と同じHTMLフォームにおいて、今度はチェックボックスの選択を外して、サーバへ送る。
4.チェックを外したにも関わらず、trueの状態になってしまう。
良い対処方法があれば、ご教授をお願いします
※他のホームページで、ActionFormに下記メソッドを記述すると、チェックボックスが正常に戻ると書いてあり、試しましたがダメでした。
画面ActionForm内に、testActionFormのListを作成し、その中にチェックボックスがある場合、適用されないのでしょうか?
public void reset(ActionMapping mapping, HttpServletRequest request){
testCheckBox=false;
}
☆作成したJSP
<%-- 明細行の反復表示 start --%>
<logic:iterate name="testActionForm" id="ViewList"property="ViewList" indexId="idx">
<!-- チェックボックス 開始-->
<td nowrap >
<html:checkbox property="testCheckBox" name="ViewList" indexed="true" index="idx" />
</td>
<!-- チェックボックス 終了-->
<!-- 入力テキスト 開始-->
<td nowrap >
<html:text property="testInput" size="50" maxlength="30" name="ViewList" indexed="true" index="idx" />
</td>
<!-- 入力テキスト 終了-->
<%-- 明細行の反復表示 end --%>
</logic:iterate>

No.3ベストアンサー
- 回答日時:
>>resetメソッドを定義するのは、ActionFormのクラスです。
>ActionFormのクラスに下記resetメソッドを定義しています。
>public void reset(ActionMapping mapping, >HttpServletRequest request){
>testCheckBox=false;
>}
ActionFormがもっているViewListのtestActionFormについてです。
public void reset(ActionMapping mapping, HttpServletRequest request){
for(int i=0;i<viewList.size();i++){
((testActionForm)viewList.get(i)).setTestCheckBox(false);
}
}
この回答への補足
emi2006さん
教えていただいた方法で実行してみたら、うまくできました!!
ありがとうございます。
ただ・・・
新たに下記問題が発生して困っています
(1)あるボタンを押下すると、チェックボックスを選択にしているのに、再表示すると未選択になる。
(2)たまに 「java.lang.IndexOutOfBoundsException: Index: 1, Size: 1」というエラーが発生する。
押下するボタンに引数を持たせて、その引数により、教えていただいた方法を読み飛ばす等試してみましたが
ダメでした・・・(自分のやり方が悪いだけ?)
何度も申し訳ないですが、良い対処方法やアドバイスがあれば、ぜひお願いいたします。
emi2006さん 返事が送れて申し訳ありません
回答ありがとうございます。
確かに、これならうまくいく気がします。
明日試して、結果を報告いたします。

No.4
- 回答日時:
わはは。
私もやりました・・・(笑)。
既に回答は出ていますが、ActionFormのresetメソッドで、きちっと初期化(と、いうかリフレッシュ)するということです。
ActionFormのresetメソッドは、無いとコンパイルエラーが確か出るので、メソッド自体は既に記述していると思うのですが(中身が空でも)。
>画面ActionForm内に、testActionFormのListを作成し、その中にチェックボックスがある場合、適用されないのでしょうか?
チェックボックスが複数(List Size分)あるってことですよね?
今、実は手元に動いている物があるので、大丈夫だと思うのですが・・・(よく見たら、質問者さんの状況に色々と条件が付加されている内容でわかりにくいので、ソースの掲載はあえてしません)。
No.3さんのやり方でやってみて、だめなら再質問ください。
suzume00さん、回答ありがとうございます
>チェックボックスが複数(List Size分)あるってことですよね?
その通りです。
>ソースの掲載はあえてしません
機会があれば、ぜひ教えてください。
色々な手法を見て、勉強したいので・・・
ご意見ありがとうございました

No.2
- 回答日時:
ActionFormに定義してあるtestActionFormと、そのプロパティViewListの内部のクラスtestActionFormは同一クラスということですか?
resetメソッドを定義するのは、ActionFormのクラスです。
そこで、ViewList全てのBeanについてfalseを設定してみてはどうでしょうか。
この回答への補足
emi2006さん、たびたび回答ありがとうございます。
ご質問の件ですが、
>ActionFormに定義してあるtestActionFormと、そのプロパティViewListの内部のクラスtestActionFormは同一クラスということですか?
同一クラスですが、プロパティViewList(List型)の中にあるtestActionFormの内容は、明細1行毎に値は異なります
>resetメソッドを定義するのは、ActionFormのクラスです。
ActionFormのクラスに下記resetメソッドを定義しています。
public void reset(ActionMapping mapping, HttpServletRequest request){
testCheckBox=false;
}
>そこで、ViewList全てのBeanについてfalseを設定してみてはどうでしょうか。
すいません。何か参考になるソースかホームページがあれば教えていただけないでしょうか?
よろしくお願いいたします

No.1
- 回答日時:
testActionFormとListの関係が分からないので正確でないですが、
resetを定義するのは、Actionに定義してあるActionFormですよ。
この場合、
testActionFormのプロパティとして、testActionFormのリストを持ってると言うことですか?
この回答への補足
emi2006さん、回答ありがとうございます
ご質問ですが、
testActionFormには、「ViewList」(List型)のプロパティがありまして、その中にtestActionFormが複数行存在する形です。
testActionForm(Actionに定義してあるActionForm)
└ViewList(List型)
├testActionForm(明細行 1行目)
├testActionForm(明細行 2行目)
├testActionForm(明細行 3行目)
├testActionForm(明細行 4行目)
├testActionForm(明細行 5行目)
~
└testActionForm(明細行 N行目)
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
StrutsでJSPからListを受け取りたい
Java
-
strutsを使用したjspでjavascript関数へ引数を渡す方法
Java
-
Eclipseで、プロジェクト名のところに赤いバッテンのエラーマークが
Java
-
-
4
Oracleのデータ型、NUMBERについて
その他(データベース)
-
5
JSPやサーブレットでSystem.out.println()などでコンソールに出力できますでしょうか?
Java
-
6
Java Struts ~に対するゲッターメソッドがありません
Java
-
7
Strutsのデータ受け渡しについて
Java
-
8
【jsp/Java】チェックボックスの状態をリロード時に保持したいです。
JavaScript
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レコード件数の表示
-
String.containsの反対機能はあ...
-
別クラスのmainメソッドの実行
-
コマンドライン引数のチェック
-
Java初級 引数に適用できません
-
StringBufferからStringへキャ...
-
CSVから読み込んだデータの保持...
-
C# でメソッドに送られてきたOb...
-
実行画面で表示されるエラーの...
-
変数名の付け方
-
「タイプ初期化子が例外をスロ...
-
エクセルVBAで、条件に一致する...
-
「インスタンス」の意味をわか...
-
サーブレットコンテキストの意...
-
VB.NETでフォーム上にExcelのよ...
-
インスタンス参照でアクセスで...
-
final修飾子を使っているのに、...
-
クラス間でのデータ参照
-
private static という変数の修飾
-
オブジェクトレベルとメタレベル
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコード件数の表示
-
Java初級 引数に適用できません
-
String.containsの反対機能はあ...
-
別クラスのmainメソッドの実行
-
abstract と static を一緒に付...
-
StringBufferからStringへキャ...
-
説明文書でのメソッド・変数の...
-
Java初心者です、エラーの意味...
-
YYYYMMDD書式の日付に対する適...
-
コマンドライン引数のチェック
-
Google Apps Script で getRang...
-
staticのメリット、デメリット
-
メソッドの引数に指定されてい...
-
スーパークラスからサブクラス...
-
return new使用時
-
メソッド宣言の戻り値の型にク...
-
インターフェースについて
-
CSVから読み込んだデータの保持...
-
問題の意味が分かりません
-
JavaからCへ
おすすめ情報