Strutsのvalidate()でListの値がなくなる

このQ&Aのポイント
  • Strutsを使用して開発している際、一覧表示されたデータを更新する際にListの値がなくなる問題が発生しています。
  • 具体的には、ラジオボタンで選択されたデータの年齢を見て、50才以上なら更新せずにエラーにしたいのですが、validate()メソッド内でListの値がnullになってしまいます。
  • この問題を解決するために、Listの値を取得する方法を知りたいです。
回答を見る
  • ベストアンサー

Strutsのvalidate()でListの値がなくなる

Strutsを使用して開発をしています。 一覧表示されたデータを選択し、その選択されたデータを更新するという システムを作っています。 [詳細] 一覧にはラジオボタンと名前と年齢が表示されています。 ラジオボタンで選択されたデータの年齢を見て 50才以上なら更新せず、validate()でエラーにしたいのです。 JSPではList(ラジオボタンと名前と年齢が入っている)を <logic:iterate >タグでぐるぐる回しています。 更新ボタン押下時、validate()メソッド内で listを取得して判断しようとしたのですがnullになってしまいます。 このListの値を取得する方法はありませんでしょうか? よろしくお願いいたします。

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

strutsはしばらく触ってないのであんまり自信ないですが。 JSPファイルのコードで <logic:itarate> <bean:write name="hoge" property="hage"/> <html:hidden name="hoge" property="hage"/> </logic:itarate> こんな感じで書いて、ActionFormで private String[] hage; を定義してやればいけたような気がします。

relax7777
質問者

お礼

教えていただいた方法で出来ました。 ありがとうございました!

関連するQ&A

  • logic:iterate でのcheckboxの値取得

    struts1.3にてDBから2レコード値を取得するとします。 取得の方法はActionクラスでsetAttributeして jsp側ではlogic:iterateで取得しています そこにcheakboxを置きたいと考えています □ 1 名前 年齢 性別 □ 2 名前 年齢 性別 「詳細ボタン」 まず、チェックボックスにチェックされた事をどう判定するのか? 次に、チェックを付けて「詳細ボタン」を押下した後、チェックボックスとDBから取得した値の詳細をどう関連付けるかが分かりません。 教えて下さい。。。

    • ベストアンサー
    • Java
  • strutsでlist型の入力を行うには

    strutsでlist型の入力を行いたいのですが、サーバー側で上手く取得できません。 実際には struts-configに <form-bean name="TestForm" type="base.BaseActionForm"> <form-property name="testList" type="java.util.List" /> </form-bean> JSPには <logic:iterate id="testList" type="bean.TestBean" name="TestForm" property="testList" indexId="idx"> <tr> <td> <html:text property="strKamoku" name="testList"/> </td> </tr> </logic:iterate> beanは下記のようです。 public class TestBean implements Serializable, Cloneable { private String strKamoku; public String getStrKamoku() { return strKamoku; } public void setStrKamoku(String strKamoku) { this.strKamoku = strKamoku; } } 上記のように設定し、サーバー上でセットした値をテキストボックスに 入れてlist表示できたのですが、テキストボックスに入れた値を変更し、submitし、サーバー上でlistの中を見てみると、表示した時のままで変更した値が反映されてません。 表示したlistの値を変更する事はできるのでしょうか。 わかりづらい説明ですいませんが、なにかアドバイス宜しくお願いします。

    • ベストアンサー
    • Java
  • 【struts】<logic:iterate>で出力したtextボックス内のデータを更新する方法

    <logic:iterate>でBeanの中のリストをtextボックスで表示しています。 その中の値を変更して、Actionでゲットしたいのですが、 値が入っていません。 または、色々ためしても、もともとBeanに入っていた古い値しか取ってくることができません。 どうやったらデータの更新が可能になるか教えてください!!

    • ベストアンサー
    • Java
  • java struts で フォームビーンに入っているarrayDB配

    java struts で フォームビーンに入っているarrayDB配列の情報をリストボックスで表示するにはどのようにすればいいのでしょうか? <logic:iterate id="idToname" name="ENTRY" property="arrayDB" > <bean:write name='idToname' property='cmName'/> <option value="<bean:write name='idToname' property='cmbName' />"></option> </logic:iterate> で実行すると文字列が可変長で画面に出てきただけでリストボックスでは表示されませんでした。 リスト内容は可変です。 どうやって配列の内容をリストボックスで表示させればいいのでしょうか? ネットでかなり検索をしましたが、可変の配列をリストボックスで表示する方法はありませんでした。

    • ベストアンサー
    • Java
  • Strutsで画面に表示した値の再取得って可能?

    お世話になっています。 mike219と申します。 現在strutsを使用してWebシステムを開発しております。 開発している最中にちょっと気になることがあったので質問させていただきました。 気になったのは以下のような感じの機能を作成する際の動作です。 (1)DBから取得したデータを一覧で表示します。 (2)一覧に表示したデータのフィルタを行い再表示を行う、といったものです。 ※フィルタの対象はDBからではなく、画面に表示した値です。 というような機能です。 (1)に関してはまったく無問題なのですが、 (2)の「一覧に表示したデータのフィルタを行い」はどういった感じで作成すれば いいのか分かりません・・・ (javascriptでなにかJsonとかデータを加工してしないといけないのかな?) いい方法をご存知であれば教えていただけると助かります。 ちなみに環境は↓です。 Java:1.6 Struts:1.3 Strutsに関しては経験が浅いです >< よろしくお願い致します。

    • ベストアンサー
    • Java
  • StrutsでのButton表示

    Strutsを使っていて、思い通りに表示できない部分があります。 ボタンを沢山表示させたいのですが、表示させるボタンの名前はXMLに記述されています。 iterateタグにて下記のコードを出力させます。↓ <html:button property="send" value ="" /> valueの部分に値を入れるとボタン名になると思います。 ボタン名にしたい値は下記の中で取得できています。↓ <bean:write name="api" property="button" /> ↑の値をなんとかしてvalueの中に代入してあげたいのですが、いろいろ試したもののうまくいきません。 おわかりになる方いらっしゃいましたらお願いします。

    • ベストアンサー
    • Java
  • iterateで受け取った値を処理に使いたい

    こんにちは、honiyonです。  まだ知識が浅い為、おかしな言い回しがあるかも知れませんがご容赦くださいm(_ _)m  Servlet側で作成したデータをJSP側で <logic:iterate id="LOOP" name="LOOP_LIST" indexId="index"> <bean:write name="LOOP" property="data1"/> <bean:write name="LOOP" property="data2"/> </logic:iterate>  のようにして表示する方法はわかりました。  今度は、これを表示するのではなくて処理に使いたいのですが、その方法がわからず難儀しています。  こんな書き方は出来ないのですが、こういう事がやりたいと思っています。 <logic:iterate id="LOOP" name="LOOP_LIST" indexId="index"> <!---こっちは普通に表示---> <bean:write name="LOOP" property="data1"/> <!---data2は処理に使う---> <%  ↓↓ここの書き方がわからない↓↓ String CODE= "<bean:write name="LOOP" property="data2"/>" if (CODE == "1") { out.println("牛"); } else { out.println("馬"); } %> </logic:iterate>  よろしくお願いします(..

    • ベストアンサー
    • Java
  • JSP・Strutsでの2次元配列の扱い

    こんにちわ。 JSP・Strutsで、2次元配列の値をインデックスを指定して出力したいのですが bean:writeなどで、どのように実装すればよいでしょうか? logic:iterateは使用せず、直にインデックスを指定して表示する方法を教えてください。

  • サブウインドウを閉じて親ウインドウにデータを渡したい

    あるWeb画面よりサブウインドウを開いてデータを選択、選択したら閉じて親ウインドウにデータを渡したいと思っております。 サブウインドウを閉じた時の親ウインドウへのデータの引継ぎ方法がよくわかりません。 ●前提 ・親ウインドウに選択ボタンがついている。 ・選択ボタン押下したらキーを渡し、サブウインドウを起動しキーを渡す。     ・window.open()でActionクラスを呼ぶ。     ・ActionクラスがForm,State,DAO等よりデータを取得。     ・"sucsess"にてサブウインドウを開く。→Struts使ってます。 ・サブウインドウにはDBより検索された一覧が表示されている。     ・選択できるようにラジオボタンも付いている。     ・決定ボタンがついている。     (作業中) ・親ウインドウに選択されたデータが表示されている。 この作業中のところでご質問です。 決定ボタンを押下したあと、データの引継ぎ方法がよくわかりません。 今はとりあえずwindow.close()で閉じるだけにしております。 稚拙な説明ですみません。 よろしくお願いします。

    • ベストアンサー
    • Java
  • リストボックスについて

    自画面のボタンを押下時、他画面のリスト情報が取得可能か教えてください。 例) 画面が画面A,画面Bと二つあります。 ※同時に開いております。 画面Aにはリストがあり、画面Bで「選択」ボタンを押下時、 画面Aのリスト情報を取得することは可能でしょうか。  ※取得したリスト情報は画面Bのリストボックスに表示 可能でしたらどのように取得するのでしょうか。 わかりやすくするために図も用意いたしましたので 添付資料を参照ください。 簡単な質問になってしまい申し訳ございません。 どなたかご回答お願い致します。

専門家に質問してみよう