※ ChatGPTを利用し、要約された質問です(原文:Strutsのデータ受け渡しについて)
Strutsのデータ受け渡しについて
このQ&Aのポイント
Strutsのデータ受け渡しについて画面遷移時のデータの引継ぎ方法を解説します。
画面遷移時にデータを引き継ぐ方法として、Strutsを使用することが一般的です。
具体的には、画面Aで取得したデータをActionクラスで保持し、次の画面でそれを取得することができます。
画面遷移時のデータの引継ぎについて。
画面A→画面B
とデータを引き継ぎたい状態です。
画面AにはDBから取得した値を一覧表示しています。
--Action--
TestLogic testLogic = new TestLogic ();
ArrayList<datas> list = testLogic.getDatas();
request.setAttribute("sendMail", list);
補足:ArrayList<datas> listにはdatas.classが格納されています。
datasクラスはDB項目に合致したgetterとsetterをもった値保持用のクラスです。
--JSP--
<nest:iterate id="sendData" name="sendMail" indexId="idx">
<html:checkbox name="sendData" property="checkBox" indexed="true"/>
<bean:write name="sendData" property="user_id" />
<html:hidden name="sendData" property="user_id" indexed="true"/>
</nest:iterate>
の様になっています。
一覧表示されたデータ内のチェックボックスをチェックしたものだけを次画面で取得したいと考えていますが、次画面のACTIONにて
request.getAttribute("sendMail");
を行ってもNullが返ってきてしまいます。
Enumerationを使うことも考えたんですが、全てのHidden項目が返ってきてしまうのでデータの判別が出来ません。特に明細が複数行あるときには困難です。
こういったデータの引継ぎはどのように行えばよいのでしょうか?
どうぞご教授下さいますよう、お願い申し上げます。
お礼
お返事遅くなり大変申し訳ございません。 おっしゃるとおりsessionが普通のようですね。 sessionを使って簡単に出来ました。 有難う御座いました。