- PR -

MVCモデルで選択された行のテキストデータの取得について

1
投稿者投稿内容
faulter
会議室デビュー日: 2005/03/06
投稿数: 11
投稿日時: 2005-03-15 12:51
いろいろお世話になっております。

現在、
Tomcat5.5.7
JDK1.5(5.0)
Eclipse3.0

で開発をしているのですが、
以下の手法が分からないので、どなたかご教授下さい。

1)DBからデータを取得し、それを件数分テーブルで表示(<Tr>〜</tr>)
⇒コーディング完了

2)テーブル全体をformで囲む。
そして、各行の先頭にチェックボックスを設け、
テキストボックスなどで、行内の情報を変更可能にする。
⇒コーディング完了

3)それらをFormBeans(ActionFormクラス)に格納し、選択された行に対するデータのみを編集する。
⇒コーディング??

初め、各行のテキストボックスの名前に引数として
<% out.println("<input type='text' name='txt_" + i + "' value='" + vali + "'>"); %>
みたいな感じで、nameの後ろに引数のようにして、処理をすれば、
大丈夫かと考えていたのですが、
よく考えたら、事前にgetterやsetterメソッドを用意して置かねばならず、
可変であるテキストボックスに対して、事前に設定などできないじゃないか、
と思いました。

実際、疑問点として、ここにあげることが
妥当かどうかと考えましたが、HTMLか、ActionFormクラスか
どこを変更するとやりたいことがうまくいくのか
見えきらなかったので、ここにあげさせて頂きました。

HttpServletのgetAttributeを使用すれば、うまくいくとは考えていますが、
そうすると、validateメソッドなどが使用できなくなるし、
ActionFormの処理が複雑になり、
本来のMVCモデルの発想から逸脱しているような気がします。

どなたか良いアイデェアをお持ちでしたら、お教え下さい。
よろしくお願いします。
ふーばー
大ベテラン
会議室デビュー日: 2003/06/05
投稿数: 163
投稿日時: 2005-03-15 13:51
http://wiki.apache.org/struts/StrutsCatalogLazyList
を参照してください。リストで受け取る方法について記載されています。
faulter
会議室デビュー日: 2005/03/06
投稿数: 11
投稿日時: 2005-03-17 13:14
ふーばー様

回答、ありがとうございました。
上記のURLのページを参照して、Textは配列化できたのですが、
SelectBoxはTLDなどの制約によりできないと言うエラーが
出てしまうため、(Strutsのバージョンの問題?!)
配列化を全てにおいて行うことを断念しました。

HPにはSelectBoxも使用可能みたいなことが書いて歩きがするのですが、
Textしか、うまく動作せず、無理やり"a.b[1]"と言う
記述をしてみたりしたのですが、
ActionForm側でうまく認識はしてくれないようで(当然?!)、
SlectBoxなどは先に記述したActoinクラスで
1)HttpServletRequestクラスから情報を抜き出し、
1)ActionFormに情報を挿入し、
1)処理BeansでActionFormの情報をそれぞれ条件通りに処理する

と言う記述にしました。

また、時間を見つけてきちんとした解決策を見つけてみたいと思います。

ありがとうございました。

1

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