- - PR -
iterateを使用してプロパティをtextタグの初期値に設定したい
1|2|3
次のページへ»
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2003-10-07 13:21
初めての質問です。
つたない質問の仕方だと思うのですが、よろしくお願いします。 以下のように、サーバからデータを取得して、アクションフォームクラスの プロパティ(List型)に設定します。(DBAはサーバに接続するBean,StringsClassは、 LabelValuBeanの3列以上を設定するBeanと考えてください(リストのプロパティには var1,var2,var3・・・というフィールド名がつきます) (アクションクラス MenuAction.java)------------------------------------------ MenuForm lform = (MenuForm)form; LinkedList kojinList = new LinkedList(); String Str; DBA db = new DBA(); db.open(); Str="SELECT T001KojinKihon.SyainNo, M002Syozoku.SyozokuName,(省略)" java.sql.ResultSet rs = db.getResultSet(Str); Str = ""; while(rs.next()){ kojinList.add( new StringsClass(rs.getString("SyainNo"), rs.getString("SyozokuName")); } db.close(); lform.setKojinList(kojinList); -------------------------------------------------------------------------- (アクションフォームクラス MenuFrom.java)------------------------------------ private List kojinList; public List getKojinList() {return kojinList;} public void setKojinList(List list) {this.kojinList = list;} --------------------------------------------------------------------------- ☆ここで質問です。iterateを使用して、jspで表示させる際に、 以下はうまくいくのですが、 <logic:iterate id="data" name="menuForm" property="kojinList"> <tr> <th bgcolor="#CCCCCC">社員番号</th> <td><bean:write name="data" property= "var1" /></td> <th bgcolor="#CCCCCC">所属</th> <td><bean:write name="data" property= "var2" /></td> </tr> ☆社員番号、所属をテキストボックスにして、その初期表示にプロパティの 値を設定するにはどうすればよいのでしょうか? ちなみに <th bgcolor="#CCCCCC">社員番号</th> <td> <html:text property="syokuiName1" size="8" maxlength="10" value="<bean:write name="data" property="var1" />"/> </td> ではもちろん無理ですが、このようなイメージで設定できないものでしょうか・・・。 勉強不足で申し訳ありませんが、なにかヒントを頂けないでしょうか。 よろしくお願いいたします。 |
|
投稿日時: 2003-10-07 13:41
value="<%=data.var1 %>"
とか |
|
投稿日時: 2003-10-07 13:42
value="data.var1" などと書けませんでしたっけ。
|
|
投稿日時: 2003-10-07 13:53
かぶってしまった。 ちなみに下記のページが参考になると思います。 http://jakarta.apache.org/struts/api/org/apache/struts/taglib/html/package-summary.html#package_description |
|
投稿日時: 2003-10-07 14:44
たーぞうさん、でくのぼうさん、
早速のご回答、ありがとうございます!!(返答の早さに感激) すいません・・・以下のように設定してみましたが、エラーが出てしまい ました。(でくのぼうさんからご紹介いただいたページは現在翻訳して 調査中です) ---------------------------------------------------------------------- <logic:iterate id="data" name="gijutsuMenuForm" property="kojinList"> <tr> <th bgcolor="#CCCCCC">社員番号</th> <td> <html:text property="syokuiName1" size="8" maxlength="10" value="<%=data.var1%>"/> </td> </tr> </logic:iterate> ---------------------------------------------------------------------- エラー ---------------------------------------------------------------------- org.apache.jasper.JasperException: JSPのクラスをコンパイルできません JSPファイル: null の中の行: -1でエラーが発生しました 生成されたサーブレットのエラーです: [javac] Compiling 1 source file [javac] E:\Program Files\Apache Group\Tomcat 4.1\webapps\step2 \work\org\apache\jsp\jsp\gijutsu\gijutsuNyuuryoku_jsp.java:180: シンボルを解決できません。 [javac] シンボル: 変数 var1 [javac] 場所 : java.lang.Object の クラス [javac] _jspx_th_html_text_0.setValue(data.var1 ); [javac] ^ [javac] エラー 1 個 --------------------------------------------------------------------------- iterateとtextタグの属性をもう一回見直して、いろいろ試してみましたが、同様のエラーが 発生します。設定が足りないのでしょうか・・・ ((-_- |
|
投稿日時: 2003-10-07 14:50
<%= %> は要らないです。
|
|
投稿日時: 2003-10-07 15:14
----------------------------------------------------------------------
でくのぼうさん、何度もすいません。 1回目の返信の際に以下のように試してはみたのですが、 テキストボックスの初期値には [data.var1]とそのまま 表示されてしまいました。 (textタグのname属性・property属性に値を設定しました。) ---------------------------------------------------------------------- <logic:iterate id="data" name="gijutsuMenuForm" property="kojinList"> <tr> <th bgcolor="#CCCCCC">社員番号</th> <td> <html:text name="gijutsuMenuForm" property="kojinList" size="8" maxlength="10" value="data.var1"/> </td> </tr> </logic:iterate> ---------------------------------------------------------------------- data.var1がiterate内で使用するtextタグのvalueでうまく読み込まれないのです。 親切に教えてくださっているのに、なかなか解決できずに申し訳ありません・・・。 |
|
投稿日時: 2003-10-07 15:23
うーん、valueアトリビュート内で data.var1 とは書けないのですね。
失礼しました。 では <%= data.getVar1() %> などと指定すれば良いかもしれませんね。 iterate タグの type 属性に data のクラス名をパッケージ名からつけて 指定すれば、うまくいくかと思います。 <logic:iterate type="foo.bar.DataClassName"> といった感じです。 |
1|2|3
次のページへ»
