• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Strutsで動的Formへの対応)

Strutsで動的Formに対応する方法

このQ&Aのポイント
  • Strutsを使用して動的なフォームに対応する方法について知りたいです。
  • 質問マスタから動的に生成されたフォームに対して、どのマスタデータに対するテキストかを識別する方法を探しています。
  • Strutsを使ったWEBシステムでよくある仕様ですが、適切な方法がわかりません。お知恵をお借りしたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • deadlock
  • ベストアンサー率67% (59/87)
回答No.2

確か、inputタグのindexed属性と、iterateタグで出せたと思います。 Mapにキーと値を格納しておき、通常通りiterateタグを使用します。(受け取り側のプロパティもMapです) inputタグにindexed属性を指定して出力されたHTMLを見てみてください。 MapはLinkedHashMapかTreeMapを使えば順序を保障できます。

参考URL:
http://struts.apache.org/userGuide/struts-logic.html#iterate
ryvius
質問者

お礼

ご回答ありがとうございます。m(_ _)m <html:text>のindexed属性を使えばいいんですね。 ちょっと今すぐテストできる環境がないので、環境が出来次第試してみます。 Strutsで今回のような動的フォームってあんまりしないもんなんですかね?

その他の回答 (1)

noname#49664
noname#49664
回答No.1

動的フォームってStrutsで作ったことないですね・・。  自分ならどうするか?と考えたのですが、やっぱり動的に生成する<input>はすべて固定された同じ名前にして、配列として取り出すしかないか?と思います。  その際、一番最初にtype=hiddenのものを1つ動的に生成し、そこでフォームの種類を識別する情報(ID名など)をvalueに設定しておきます。アクションフォーム側では、配列のゼロ番からその識別情報を取得し、それをもとに残りの要素の処理方法を決めます。  ・・というやり方ではいかがでしょうね? 実際に試してないのでうまくいくかわかりませんが・・。

ryvius
質問者

お礼

ご回答ありがとうございます。 やはりStrutsでは動的フォームの対応は難しいんですかね? あまりStrutsを使用した事がないのですが、もし配列で取得した場合、何も入力されなかったテキスト項目の扱いはどうなるんでしょうか? NULLとして配列に格納されるのか、もしくは値が設定されているものだけで配列に格納されるのか・・・ もし前者ならご回答頂いた方法でもいけるかもしれませんね。

関連するQ&A

専門家に質問してみよう