プロが教える店舗&オフィスのセキュリティ対策術

以下の質問の続きなのですが、JAVAカテゴリを勧められましたのでこちらで質問させてください。
http://bekkoame.okwave.jp/question/selectbestans …

使用言語はJSPです。

「送信ボタンが押下されたとき、同じ遷移先の画面に「テキスト」「ファイル」タイプのデータを同時に受け渡せないことがわかりました。

(1)
<form action="al.jsp" method="POST">
⇒<input type="radio" name="1" value="2">の受け渡しが可能

(2)
<form action="a.jsp" enctype="multipart/form-data" method="POST">
⇒<input type="file" name="uploadfile" size="50">の受け渡しが可能

送信ボタン押下時に(1)テキスト(2)ファイルデータを同時に受け渡し、
a.jspからrequest.getParameter("1");
で値を取得する方法を教えて頂けないでしょうか。

現在は、
<form action ~>
(1)input
(2)input
</form>
の形式になっています。

gooドクター

A 回答 (3件)

こんな感じでしょうか。


送られてきたformの名称と値を出力しています。

--全角でインデントしています
if (ServletFileUpload.isMultipartContent(request)) {
 ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory());
 try {
  List items = upload.parseRequest(request);
  for (Iterator ite = items.iterator(); ite.hasNext(); ) {
   FileItem item = (FileItem) ite.next();
   if (item.isFormField()) {
    //getString()の引数はご自身の環境に合わせて設定してください。
    System.out.println(item.getFieldName() + ":" + item.getString("UTF-8"));
   }
  }
 } catch (FileUploadException e) {
  e.printStackTrace();
 }
}

Commons IOのライブラリも必要ですのでご注意を。
例外処理などなにも考慮していないので、あくまで参考程度にしてください。

この回答への補足

こんばんは。
ラジオボタンで選択したVALUE値を取得するサンプルについて教えていただけますでしょうか。

補足日時:2011/02/21 11:01
    • good
    • 0
この回答へのお礼

ありがとうございます。
まだ理解できていませんが、参考にさせて頂きます。

お礼日時:2011/02/18 17:52

inputのtypeに関わらず、


enctype="multipart/form-data"のときはrequest.getParameter()で取得することはできません。

先ほどのURLはご覧になりましたか?
テキストボックスでもラジオボタンでもチェックボックスでもセレクトボックスでも
同様の方法で値が取得できます。
    • good
    • 0
この回答へのお礼

ご返事ありがとうございます。
先程のURLのユーザーガイドを確認致しましたが、
ライブラリを使用した経験もなく、取得方法がいまいちわかりませんでした。
お手数ですが、ラジオボタンでのVALUE値の取得方法をご教示お願いできませんか。

お礼日時:2011/02/18 14:32

enctype="multipart/form-data"のときはrequest.getParameter()で取得することはできません。


パラメータが渡っていないわけではありません。

ライブラリを使うことが可能であれば、Apache CommonsのfileUploadを使うと楽だと思います。
http://commons.apache.org/fileupload/index.html

使い方は難しくないのでUser Guideを見ればなんとなく分かるのではないでしょうか。
検索すればサンプルページも沢山あると思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
enctype="multipart/form-data"を使用したとき、ファイルデータの取得はわかりましたが、
ラジオボタンで選択した値(VALUE)はどうすれば取得できますでしょうか?
こちらもrequest.getParameter()で行うと、NULLになりました。
よろしくお願いします。

お礼日時:2011/02/18 11:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング