- - PR -
struts を使わす、JSP上で ArrayList に格納した JavaBeans のループ展開方法
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-09-13 03:47
こんばんは。struts の勉強もかなり進み、struts の良さが肌で感じるようになってきました。
そこで質問があるのですが、struts の<logic:iterate......>を使用せずに、以下のように、複数の JavaBeans を格納した ArrayList を JSP(strutsを使用せず) で展開し、ループで property="a"とproperty="b" を表示させようとしたのですが、つまづきました。 ===================================================================================== ArrayList array = new ArrayList(); . . . 省略 . . for(int i=0; ........){ TestBeans inst = new TestBeans(); inst.setA(aaa); inst.setB(bbb); . . . array.add(inst); } . . . request.setAttribute("okArray", array); getServletContext().getRequestDispatcher("/jsp/disp.jsp"); ===================================================================================== <%@ page contentType="............................%> <jsp:useBean id="okArray" class="beans.TestBeans" scope="request" /> . for(int i=0; ? ? ? ? ? ?; i++){ . ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(ArrayListの展開方法が?) . . <jsp:getProperty name="okArray" property="a" /> <jsp:getProperty name="okArray" property="b" /> . . . } =================================================================================== 上記のようなJSP(strutsを使用せず)上で複数のJavaBeansを展開する時、forループ内の??????と 展開したいArrayList の展開方法が分かりません。 御指導の程よろしくお願いします。 [ メッセージ編集済み 編集者: ryo 編集日時 2004-09-13 03:50 ] | ||||||||
|
投稿日時: 2004-09-13 08:44
おはようございます。
外していたら突っ込んでいただいてOKですが、 1. TestBeans オブジェクトを生成して値を格納。 2. それぞれの TestBeans オブジェクトをArrayList の要素として格納。 3. そのArrayList を setAttribute する。 もし、そうであれば 1. ArrayList を getAttributeで取り出し。 2. ArrayList から それぞれの要素として格納されている TestBeans を取り出し。 3. TestBeans から値の取り出し。 このようなフローを構成すればよろしいかと思われますが、いかがでしょうか? | ||||||||
|
投稿日時: 2004-09-13 13:23
このケースだと
は使用できないんじゃないでしょうか。 requestに直接TestBeanクラスが入っている状態じゃないと 上記コードは機能しないように思います。 ですので
とかってするしかないかな? | ||||||||
|
投稿日時: 2004-09-13 19:50
なるほど、request.getAttribute() を使えばいけるんだ。有難うございます。
常に念頭に<jsp:getProperty ........>しか考えていませんでした。反省 <jsp:getProperty ........>を使って、ArrayListである"okArray"から複数のJavaBeansを展開する方法はないのでしょうか? 御指導の程よろしくお願いします。 | ||||||||
|
投稿日時: 2004-09-14 09:08
通常の方法ではないんではないんじゃないですかね。 Struts使うならiterateタグとかあるのかな。 Struts使ったことないんでなんともいえませんが。 | ||||||||
|
投稿日時: 2004-09-14 21:33
>Struts使うならiterateタグとかあるのかな。
そうなんです。今勉強中で iterate が便利だとは分かったのですが、逆に同じことを <jsp:useBean ...>でできないのかなあと思い、チャレンジをしたのですが挫折してしまいました。 方法をご存知でしたら御紹介願いますか。よろしくお願いします。 | ||||||||
|
投稿日時: 2004-09-14 21:55
答えになっているか分かりませんが、JSTLとELを使えばStrutsは
使わないでも可能だと思いますよ。useBeanでは難しいと思います。 JSTLとELについては、次が参考になりました。 http://www.fk.urban.ne.jp/home/kishida/kouza/kishou/jspjstl.html | ||||||||
|
投稿日時: 2004-09-14 22:30
>useBeanでは難しいと思います。
やはり難しいのですか。 何故なんでしょうか?理由が知りたいです。useBean が扱えるのは 1つのオブジェクトに対してだけなのでしょうか? | ||||||||
1
