• ベストアンサー

strutsでの2次元配列について

java側で2次元配列String[][] totalを生成して、Formにセットしています。 それをJSPで表示させるには <bean:write name="Form" property="total[0][0]" /> とすればできると思ったのですが、[Ljava.lang.String;@16b65f3のように 何かのアドレスのようなものが表示されます。 1次元の配列なら問題なく表示できたのですが、 なにかまずいところがあるのでしょうか。 わかる方いらっしゃいましたら、どうかお願いいたします。

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

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

  • ベストアンサー
noname#147388
noname#147388
回答No.2

同一画面で両方に同じ name 設定、同じ property 設定をしたミニマムコードみせてくれますか。

shiren1489
質問者

お礼

すみません。 変数を使用していたため、 property='<%= "test[0][0]" %>'のような書き方になっていました。 通常はproperty="test[0][0]"ですね。 これでもダメでしたが。

shiren1489
質問者

補足

返信遅くなって申し訳ありません。 <html:textarea name="Form" property='<%= "test[0][0]" %>' cols="85" rows="2"/> <bean:write name="Form" property='<%= "test[0][0]" %>'/> このように書いています。 textareaの中では通常に表示されるのですが bean:writeではアドレスが表示されます。

その他の回答 (1)

noname#147388
noname#147388
回答No.1

> [Ljava.lang.String;@16b65f3 上記は配列を表すインスタンスアドレスです。 JSPが1次配列のままか、もしくは配列が3次元になているかのいずれかだと思われます。

shiren1489
質問者

お礼

回答有難う御座います。 配列は2次元配列で間違い無いと思われます。。。 textareaのpropertyに同じもの(total[0][0])を指定したら 正常に表示されました。 bean writeでは表示できないのでしょうか・・・

関連するQ&A

  • jspの配列表現

    strutsを使用しています。 java側からString配列 total をリクエストに渡しているのですが <logic:iterate id="data" name="total" > <bean:write name="data" /> <br> </logic:iterate> と繰り返すことはできるのですが 繰り返すのではなく、jspのほうでtotal[0]やtotal[1]を 個別に表示することは可能でしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • strutsでArrayListの中の配列の表示の仕方。

    タイトルどおりなんですが。よくわかりません。例えば以下のようです。numberに紐づいた複数のデータが配列に入っています。 public static Bean setBean (int number, String[] strArray){ bean.setNumber(number); bean.setArray(strArray); return bean; } たいぶ、はしょってますがこんな感じでbeanにintのnumberとStringの配列をsetして、受け取り側でそのbeanをArrayList(array)にaddしています。それをjspで表示したいのです。jspは下のようです。 <logic:iterate name="form" property="array" id="list" > <bean:write name="list" property="number"> ここにstrArrayを表示したい。 </logic:iterate>  といった具合です。どお書けばいいんでしょうか?ご教授お願いします。

    • ベストアンサー
    • Java
  • strutsで2次元配列をやりとりする方法。

    こんにちは。質問です! 現在、STRUTS+Javaを使ってプログラミングしているのですが、 jspにて<logic:iterate>でループさせ 2次元配列をhidden要素に持たせるまでにはいたったのですが、 その際に、 <html:hidden name="aaa" property="str[0]" indexed="true" /> <html:hidden name="aaa" property="str[1]" indexed="true" /> 以後続く・・・ で表示すると、HTML表示で、 <INPUT type="hidden" name="aaa[0].str[0]" value="あああ"/> <INPUT type="hidden" name="aaa[0].str[1]" value="いいい"/> 以後続く・・・ となってしまい、サーブレットに送る際に、name属性に配列のindexが 付加されているため、strに値が入ってきません・・・ 2次元配列をjspとサーブレットでやりとりする方法を教えてください。 strとaaaの型は共にjava.util.Listです。 ご回答、よろしくお願い致しますm(_ _)m

  • Strutsでの質問になります。

    Strutsでの質問になります。 いつもお世話になっております。宜しくお願いします。 環境は Struts1.2 eclipse3.4 JavaJDK1.5 JavaJre1.5 tomcat5.5 になります。 下記の部分を教えて頂ければ幸いです。 所々抜粋しております。 <html:form action="/userCheckForm" > <bean:message key="property.Ownership.qualification" />:<br/> <html:multibox property="sikaku" value="基本情報技術者"/>基本情報処理技術者<br/> <html:multibox property="sikaku" value="ソフトウェア開発技術者"/>ソフトウェア開発技術者 <html:multibox property="sikaku" value="その他"/>その他<br/><br/> <br/> ActionFormは抜粋してますが private String[] sikaku;      public String[] getSikaku() { return sikaku; } public void setSikaku(String[] sikaku) { this.sikaku = sikaku; } 関係ある部分はこのようにしています。 ActionはForwardしてるだけで特に何もしておりません。 表示側で <bean:message key="property.Ownership.qualification" />:<br/> <bean:write name="UserCheckForm" property="sikaku" scope="request" /><br/> このようにしておりますが、配列が思うように取ってこれず、チェックされたもののみ 表示したいんですがどのようにしたらいいでしょうか? チェックをいれ表示すると [Ljava.lang.String;@1c98c1b のようになり、配列がObject?のまま表示されてしまい困っております。 お力貸していただければ幸いです。 宜しくお願いいたします。

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

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

  • strutsのhtml:linkの使い方

    html:linkを使用してJSPを表示した際に、前のフォームのプロパティ値(ここではstaffNumberの値)を取得したいのですが,うまくいきません。 同じ処理をhtml:submitで実行すると取得できています。 その違いを教えて頂きたいのです。 以下がそのコードです。 【struts-config】 <form-bean dynamic="true" name= "loginForm" type="org.apache.struts.validator.DynaValidatorForm"> <form-property name = "staffNumber" type= "java.lang.String" /> </form-bean> <action name="loginForm" path="/login" scope="request" type="login.action.LoginAction" validate="false"> <forward name="success" path="/login.jsp" /> </action> 【login.jsp】 <html:form action="/login">  <html:text property="staffNumber" size="10"maxlength="8"/> <html:link action="/login">testlink</html:link> <html:submit value="test"/> </html:form> 【LoginAction】 public class LoginAction extends Action{ public ActionForward execute (ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res) throws Exception{ DynaValidatorForm loginForm =(DynaValidatorForm) form; String staffNumber=(String)loginForm.get("staffNumber"); System.out.println(staffNumber); return (mapping.findForward("success")); } } linkの処理で同じJSPを表示していますが,前のプロパティ値を取得しているかをログで確認する事を優先しているのでそのようにしています。 質問の意味がわからない、ソースの不足等ありましたら御指摘下さい。 宜しくお願いします。

    • ベストアンサー
    • Java
  • 2次元配列

    2次元配列は宣言して生成しますが配列名が異なる配列を例えば100個用意するにはいちいち宣言していたらすごいプログラム量になるので何かいい方法はないでしょうか?付け足しで指定した個数(例えば100個)分名前の異なる2次元配列を生成するには? java初心者なのでサンプルプログラムがあるとありがたいです。よろしくお願いします。

  • (Struts)Logicタグについて

    bean内にString型配列name[],no[],key[]を取っている状態で、jspページに表を表示しようとおもっております。 <table>  <logic:iterate id="name" name="bean名" property="name">   <tr>    <bean:write name="name"/>   </tr>  </logic:iterate> </table> 上記の方法で一列を表示することはできたのですが、 複数列を表示する方法がよくわかりません。 <logicタグ> <name配列> <no配列> <key配列> </logic> のような形で表示することはできませんでしょうか? すべての列を一つの表にできれば他の方法でもかまいません。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • java strutsでの一覧表の表示方法について

    以下の内容でロジックを組んだのですが、 jspより表示される一覧表は、003 name3が3件表示されてしまいます。 一覧表を正しく表示できない原因を教えてください。 SP0010_FORM_Bean.java public class SP0010_FORM_Bean { protected String id; protected String name; public void setId(String s) { id = s; } public String getId() { return id; } public void setName(String s) { name = s; } public String getName() { return name; } } SP0010_FORM.java public class SP0010_FORM extends ValidatorForm{ protected List<SP0010_FORM_Bean> loopList; public void setLoopList(List<SP0010_FORM_Bean> list) { loopList = list; } public List<SP0010_FORM_Bean> getLoopList() { return loopList; } } SP0010_ACTION_10.java SP0010_FORM initBean = new SP0010_FORM(); request.setAttribute("list_form", initBean); List<SP0010_FORM_Bean> list = new ArrayList<SP0010_FORM_Bean>(); SP0010_FORM_Bean bean1 = new SP0010_FORM_Bean(); bean1.setId("001"); bean1.setName("name1"); list.add(bean1); bean1.setId("002"); bean1.setName("name2"); list.add(bean1); bean1.setId("003"); bean1.setName("name3"); list.add(bean1); initBean.setLoopList(list); jsp <table border="1"> <logic:iterate id="loop" name="list_form" property="loopList"> <tr> <td><bean:write name="loop" property="id" /></td> <td><bean:write name="loop" property="name" /></td> </tr> </logic:iterate> </table>

    • ベストアンサー
    • Java
  • Java Struts ~に対するゲッターメソッドがありません

    Java Struts WindowsXp Java Struts共に初心者です。 上記を使用してログイン画面を作成しています。 エラーが発生しているのですが 「Bean LoginFrm のプロパティ id に対するゲッターメソッドがありません」 と言われます。 参考サイトはいくつもあるのですが、そもそもイテレータを使用していないとか私の状況に一致する回答を見つけることができませんでした。 (JAVA、Struts共に慣れていないためか応用がきかないみたいです) loginTop.jsp login.jsp LoginFrm.java LoginAct.java struts-config.xml のいずれかが原因だとは思うのですが、そのどこかが皆目見当もつきません。 loginTop.jsp----------------------------- <html:form action="/login"> <table border="0"> <tr><td> ログインID<html:text name="LoginFrm" property="id" size="6" maxlength="5" /> </td></tr> <tr><td> パスワード<html:password name="LoginFrm" property="pass" size="6" maxlength="5" /> </td></tr> </table> </html:form> login.jsp---------------------- <html:form action="/login"> <table border="0"> <tr><td> A:<bean:write name="LoginFrm" property="id" /> </td></tr> <tr><td> B:<bean:write name="LoginFrm" property="pass" /> </td></tr> </table> </html:form> LoginFrm.java---------------------- private String id; private String pass; public String getID() { return id; } public void setID(String id) { this.id = id; } public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; } LoginAct.java-------------------- throws Exception { request.setCharacterEncoding("Windows-31J"); LoginFrm logFrm = (LoginFrm) form; log.info(" user = "+logFrm.getID()); log.info(" user = "+logFrm.getPass()); return mapping.findForward("login"); } struts-config.xml--------------------------- <form-beans> <form-bean name="LoginFrm" type="loginForm.LoginFrm" /> </form-beans> ~ <action attribute="LoginFrm" input="/pages/loginTop.jsp" name="LoginFrm" path="/login" type="loginAction.LoginAct" scope="request" validate="true"> <forward name="login" path="/pages/login.jsp" /> </action> 以上です。 かなり長くなり申し訳ありません。

    • ベストアンサー
    • Java

専門家に質問してみよう