- PR -

で2つ情報を渡すには?

投稿者投稿内容
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2004-02-03 20:18
iteratorがwhileループみたいなもんですから、クルクル回って、
<html:hidden name="info" property="bumonNO" />
の部分では、最後の4が入りますね。
っていうか、これでは4しか入りません。

次のような感じになると思います。

<logic:iterate id="info" name="userInfoList">
<html:radio idName="info" property="selected" value="refno"/>

<bean:write name="info" property="refno" />
<bean:write name="info" property="username" />
<bean:write name="info" property="userID" />
<html:hidden name="info" property="bumonNO" />

</logic:itelate>
プリンス
ベテラン
会議室デビュー日: 2003/07/05
投稿数: 78
お住まい・勤務地: 神奈川
投稿日時: 2004-02-03 22:00
引用:

aaさんの書き込み (2004-02-03 20:18) より:
次のような感じになると思います。

<logic:iterate id="info" name="userInfoList">
<html:radio idName="info" property="selected" value="refno"/>

<bean:write name="info" property="refno" />
<bean:write name="info" property="username" />
<bean:write name="info" property="userID" />
<html:hidden name="info" property="bumonNO" />

</logic:itelate>




これではどのレコードが選択されたのか分からないのでは?
このような明細リストを選択して詳細画面に遷移するパターンは
Anthyhimeさんの回答の様に、コンポジットキーを枝番にするか、
もしくはブラウザの「戻る」対応をしなくてよい場合は、
インデックスを使用して何行目のレコードが選択されたかのみを送信してサーバ側で
対象レコードを取得します。

もっともこのような明細リストを選択させる場合はラジオボタンは使用せず、
HTMLのBUTTONを使用して、onClickイベントハンドラの中で選択した明細行をHIDDENにセットしてからPOSTするように作ります。

takaさんの作られているアプリケーションが業務系のものなら、「戻るボタン」を無効化すると、開発、保守、改修工数が削減できることをお客様に提案されてはいかがでしょうか?
taka
会議室デビュー日: 2004/01/20
投稿数: 10
投稿日時: 2004-02-03 23:28
色々コメントを書いていただきありがとうございます。


そこで、本日Anthyhimeさんの書きこみからヒントを頂き(文字列操作がやり方が分からないので)、
配列を渡してみました。具体的には、
wk_no[0]=refno;
wk_no[1]=bumono;

上記の配列をrefnoにセットし、
ラジオボタンで選択後、中身を参照してみたのですが、
taka =form.getSelected();
taka[0]は取得できるのですが、taka[1]は配列の外をみているということでエラーとなりました。

上記の配列の方法はあきらめて、
refnoとbumonoを文字列として渡したいのですが、
具体的にはどのようにやればよいのでしょうか?

よろしくお願いいたします。

[ メッセージ編集済み 編集者: taka 編集日時 2004-02-03 23:32 ]
Anthyhime
ぬし
会議室デビュー日: 2002/09/10
投稿数: 437
投稿日時: 2004-02-04 07:32
refno + "," + bumono
のような文字列をラジオボタンにセットしてあげて、
渡されたラジオボタンの値をStringTokenizerで分割しましょう。
taka
会議室デビュー日: 2004/01/20
投稿数: 10
投稿日時: 2004-02-04 22:56
本日、文字列でsetして、StringTokenizerを使い、
2つのデータを取得することができました。
ありがとうございました。

ちなみに、配列の受け渡しはラジオボタンでは、
できますか?

おかもと
大ベテラン
会議室デビュー日: 2003/06/08
投稿数: 182
投稿日時: 2004-02-05 15:16
なんか初歩的な質問にも関わらず皆さん親切に答えすぎてるような
気がするのですが・・・(-_-

引用:

takaさんの書き込み (2004-02-04 22:56) より:
本日、文字列でsetして、StringTokenizerを使い、
2つのデータを取得することができました。
ありがとうございました。

ちなみに、配列の受け渡しはラジオボタンでは、
できますか?




ラジオボタンに限らず配列の受け渡しは出来ます。
配列と言ってもJavaScriptの配列ではないですよ

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