- PR -

bean:writeタグのpropertyの設定値を動的に変更したい

投稿者投稿内容
ishi
会議室デビュー日: 2005/09/30
投稿数: 7
投稿日時: 2005-09-30 22:53
いつも参考にさせていただいています。

開発環境
os:windowsXP professional
eclipse 3.1.0
weblogic 1.2

<logic:iterate id="MEMOREC" name="MEMO" property="Memo" indexId="i" length="MemoNum" >
<%
int row = i.intValue() + 1;
if (i.intValue() % 2 == 0) {
%>
<TR class="list_table"

onclick="onClick('<bean:write name="MEMO" property="linkFlg[1]"/>',<%= row %>)" onmouseover="onMouseOver(this)" onmouseout="onMouseOut(this)" height="26" valign="top">
<%
}
%>
<TD width="888"><bean:write name="IMPMEMOREC"/></TD>
</TR>
</logic:iterate>


<bean:write name="MEMO" property="linkFlg[1]"/>
linkFlg[1]の"1"の部分を以下のような感じで変数に置換えたいのですが、
どうもうまく出来ません。

<bean:write name="MEMO" property="linkFlg[<%= i %>]"/>
そもそもこのような記述の仕方はできるのでしょうか?
実現したいのはlinkFlg(ArrayList)のgetLinkFlg().get(i)を取得したいのです。

実現方法をご存知の方、よろしくお願いします。





[ メッセージ編集済み 編集者: ishi 編集日時 2005-10-01 16:05 ]
さる
ぬし
会議室デビュー日: 2005/07/14
投稿数: 276
お住まい・勤務地: 実家戻ったw
投稿日時: 2005-10-01 00:04
えっと良く分からないけどlogic:iterateはなんの為に使ってますか?
ishi
会議室デビュー日: 2005/09/30
投稿数: 7
投稿日時: 2005-10-01 14:34
ご返答ありがとうございます.


引用:

さるさんの書き込み (2005-10-01 00:04) より:
えっと良く分からないけどlogic:iterateはなんの為に使ってますか?



<TD width="888"><bean:write name="IMPMEMOREC"/></TD>
</TR>
</logic:iterate>

申し訳ございません。IMPMEMORECでは無くMEMORECでした。

logic:iterateでMemo情報を繰り返し出力し、そのインデックスを利用して、
linkFlgのArrayListから同一のインデックスの物を取得しようと思っています。

Beanの内容はこんな感じです。
int memoNum = 0;
ArrayList memo = new ArrayList();
ArrayList linkFlg = new ArrayList();

宜しくお願い致します。

ちょま吉
大ベテラン
会議室デビュー日: 2004/08/04
投稿数: 112
投稿日時: 2005-10-01 14:58
引用:
ishiさんの書き込み (2005-09-30 22:53) より:
<bean:write name="MEMO" property="linkFlg[<%= i %>]"/>
そもそもこのような記述の仕方はできるのでしょうか?


試してみましたか?
ishi
会議室デビュー日: 2005/09/30
投稿数: 7
投稿日時: 2005-10-01 15:53
ちょま吉さん ご返答ありがとうございます。

引用:

ちょま吉さんの書き込み (2005-10-01 14:58) より:
引用:
ishiさんの書き込み (2005-09-30 22:53) より:
<bean:write name="MEMO" property="linkFlg[<%= i %>]"/>
そもそもこのような記述の仕方はできるのでしょうか?


試してみましたか?



試してみたんですが、こんなエラーが出ます。
javax.servlet.ServletException: Bean MEMO の プロパティlinkFlg[<%= i %>] に対する参照は不正なアクセスです.

宜しくお願い致します。
さる
ぬし
会議室デビュー日: 2005/07/14
投稿数: 276
お住まい・勤務地: 実家戻ったw
投稿日時: 2005-10-01 17:19
引用:

ishiさんの書き込み (2005-10-01 14:34) より:
<TD width="888"><bean:write name="IMPMEMOREC"/></TD>
</TR>
</logic:iterate>

申し訳ございません。IMPMEMORECでは無くMEMORECでした。

logic:iterateでMemo情報を繰り返し出力し、そのインデックスを利用して、
linkFlgのArrayListから同一のインデックスの物を取得しようと思っています。

Beanの内容はこんな感じです。
int memoNum = 0;
ArrayList memo = new ArrayList();
ArrayList linkFlg = new ArrayList();



memoとlinkFlgは対応を取らないといけないの?
ishi
会議室デビュー日: 2005/09/30
投稿数: 7
投稿日時: 2005-10-01 17:31
さるさん ご返答ありがとうございます。


引用:

さるさんの書き込み (2005-10-01 17:19) より:
引用:

ishiさんの書き込み (2005-10-01 14:34) より:
<TD width="888"><bean:write name="IMPMEMOREC"/></TD>
</TR>
</logic:iterate>

申し訳ございません。IMPMEMORECでは無くMEMORECでした。

logic:iterateでMemo情報を繰り返し出力し、そのインデックスを利用して、
linkFlgのArrayListから同一のインデックスの物を取得しようと思っています。

Beanの内容はこんな感じです。
int memoNum = 0;
ArrayList memo = new ArrayList();
ArrayList linkFlg = new ArrayList();



memoとlinkFlgは対応を取らないといけないの?



はい、memoのレコードのインデックスに合致した、
linkFlgのレコードの値を取得しなければいけないんです。

いまも、いろいろ試してはいるんですが。。。
まだ解決できてません。

宜しくお願いします。
さる
ぬし
会議室デビュー日: 2005/07/14
投稿数: 276
お住まい・勤務地: 実家戻ったw
投稿日時: 2005-10-01 18:46
引用:

ishiさんの書き込み (2005-10-01 17:31) より:
さるさん ご返答ありがとうございます。
はい、memoのレコードのインデックスに合致した、
linkFlgのレコードの値を取得しなければいけないんです。


んじゃ、どうして別々のListで持ってるんですか?
同じリストで持つのでは?

スキルアップ/キャリアアップ(JOB@IT)