- 締切済み
JSのリクエストからサーブレットに渡されるデータについて。
現在、JSP+サーブレットでアプリを作成しています。 質問ですが、JSPにあるセレクトメニューの中身全てをサーブレットで受け取ることはできるのでしょうか? <select name="Kouba" size="1"> <option value=10>A工場</option> <option value=11>B工場</option> <option value=12>C工場</option> <option value=13>D工場</option> </select> 上のようなセレクトメニューがあった場合、submitした場合に、サーブレット側で、 String 工場 = request.getParameter("Kouba"); とやれば、選択されていたデータは取得できます。 セレクトメニューの中身全部を取得したい場合はどのようにすればよいのでしょうか? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- yuji
- ベストアンサー率37% (64/169)
普通こういう場合は、選択肢となるデータをデータベースに登録しておきます。 Servlet側でDBから選択肢となるデータを取得し、JSPでも同じデータを見るようにすればいいだけです。 (私のところではまず、ServletでDBアクセスして、選択肢を取得しておき、 それをJSPに渡しています。JSPから直接DBアクセスはしていません。) DBがもしなくても、選択肢をServlet側で用意するような作りに すればいいのでは?
- tajiri
- ベストアンサー率45% (5/11)
submitした段階で選択されていないものは サーバに送られていないので取得は無理だと思いますよ。 (そういう処理をするのがselectの役目ですべて取れたら selectしていないと思うのですが・・・) 最初にhtml or JSPで各項目の値を クライアント側に渡しているのだったらそこからとるか すべてのselectの値をhiddenで渡してやれば実現できるかと。 (あんまりきれいじゃないですけど)
お礼
そうですか、やっぱり無理なんですか。 hiddenは考えたんですが、中身が多いとえらいことになるのでやめました(笑) どうもありがとうございました。
お礼
私の書き方がまずかったのですが、実は現状で、yujiさんが書いてくださったようにやってはいます。 具体的にやりたかったのは、こういうコンボボックスでどうにかして順序を保持し、表示します。 HTML側で中身の順序を変えたら、その順番をデータベースに保持するみたいなことをやりたかったのですが、こういうやり方では難しそうですねぇ。。。 ご回答ありがとうございました。