- PR -

Struts DBからデータを取得し、コードと名称をコンボボックスに設定する

投稿者投稿内容
taka
会議室デビュー日: 2004/01/20
投稿数: 10
投稿日時: 2004-01-20 22:40
現在、Strutsで開発を行っています。
コンボボックスを使用したいのですが、
選択する項目をJSP等にベタ書きではなく、
DBから取得して表示をさせたいと試みています。

以下のようなテーブルの内容を取得して、
コードを取得し、名称を表示させたいです。

ID 名称
01 登録
02 更新
03 削除

インターネットで調べてみましたが、
まだ、良く分からない状態です。
JSP,ActionForm,Actionは具体的にどのように書けばよろしいでしょうか。

ご教示ください。
ふーばー
大ベテラン
会議室デビュー日: 2003/06/05
投稿数: 163
投稿日時: 2004-01-20 22:58
Struts 関連書籍を調べてみましたか?
こういったことはよくやることなので大抵の本で説明がなされています。
taka
会議室デビュー日: 2004/01/20
投稿数: 10
投稿日時: 2004-01-20 23:05
色々調べているのですが、
なかなかしっくりくるのがないもので・・・。
自分の探し方がまだ足りないかもしれないですが、
何か参考になるものとかありますか。

koe
大ベテラン
会議室デビュー日: 2003/07/13
投稿数: 198
投稿日時: 2004-01-20 23:26
strutsのzipファイルを展開したフォルダの中にwebapps\struts-exercise-taglib.warというファイルが
あります。これはstrutsのサンプルアプリケーションで、taglibの使い方の参考になるはずです。
この中のhtml-select.jspを見るといいと思います。
Tomcat等に配置して実行するなり、中を開いて参考にするなりしてください。
YOU@IT
ぬし
会議室デビュー日: 2002/03/29
投稿数: 284
お住まい・勤務地: 大阪
投稿日時: 2004-01-20 23:31
思うのですが、takaさんが望んでいる機能を実装するには
複数の技術への知識・スキルが必要です。

DBアクセスするならJDBCの知識が必要でしょう。
Web等のJ2EE環境であればjavax.sqlパッケージ辺りの理解も必要です。

Strutsを使う前にそもそもMVCモデル2を理解していますか?
Servletをコントローラとして、ビジネスロジックを実行(この場合は
DBからコンボの値を取ってくる)し、その結果をBeanにセットして
JSPにフォワード...
これを理解できていればおおよそ頭の中にアーキテクチャのイメージが
湧くと思うのですが...

逆にこれを理解していなければいくら便利と言われているStrutsを使っても
むしろ複雑になるだけだと思いますよ。

Strutsうんぬんよりも、まずは基本的な知識を蓄えていったほうが良いと思います。

taka
会議室デビュー日: 2004/01/20
投稿数: 10
投稿日時: 2004-01-20 23:46
返信ありがとうございます。
MVCモデルは理解しています。
DBにも接続を行っています。
基礎的なStrutsの知識は学んでいるのですが、
selectタグの説明を見ても、
その説明は詳しいのですが、
具体的にどのように書くと
選択する項目をJSP等にベタ書きではなく、
DBから取得して表示をさせるのかが分からないので
質問を行いました。

よろしくお願いします。
YOU@IT
ぬし
会議室デビュー日: 2002/03/29
投稿数: 284
お住まい・勤務地: 大阪
投稿日時: 2004-01-21 01:26
引用:

selectタグの説明を見ても、
その説明は詳しいのですが、
具体的にどのように書くと
選択する項目をJSP等にベタ書きではなく、
DBから取得して表示をさせるのかが分からない



基本的な流れは、
 1.アクションでDBから値を取得する
 2.取得した値をBeanにセットする
 3.Beanを適切な場所(Request, Session, Context...)に保存する
 4.JSPへフォワード
 5.JSPで<html:select.../>タグを使って3.のBeanから値を取得・表示
だと思うのですが、
koeさんが紹介されているサンプル以外にも、struts-example.warにも
簡単な使用例がありますよ。

struts-example.warを例にすると、subcription.jsp[80]で<html:select/>タグ
を使用しています。
このタグが参照するBeanの設定は、MemoryDatabasePlugIn[231]で行っています。
使っているBeanはStrutsに含まれているLabelValueBeanです。

この辺りを探ればわかるのではないでしょうか?


ふーばー
大ベテラン
会議室デビュー日: 2003/06/05
投稿数: 163
投稿日時: 2004-01-21 11:28
引用:

takaさんの書き込み (2004-01-20 23:46) より:
selectタグの説明を見ても、
その説明は詳しいのですが、
具体的にどのように書くと
選択する項目をJSP等にベタ書きではなく、
DBから取得して表示をさせるのかが分からないので
質問を行いました。



ということであれば、最初からそう書けばいいのです。最初の質問は
「まったくわからないので、誰か作ってください」というのと同じです。
また、大抵の本には具体的なコード例が載っているはずです。それを
いろいろ試してみましたか?また、サンプルコードを見ましたか?

それを前提の上で逆質問ですが、何がわからないのですか?「何の」具体的な書き方ですか?
自分自身で何がわからないのかがわかっていないので曖昧な質問になるんです。
それを明確にしないと質問者も回答者もちぐはぐな応答になるのはわかりますか?

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