• 締切済み

request.getParameter()

以下のような複数選択可能なメニューを用意しました。 <form action=...> <select name="opt" size=1 multiple> <option value>first <option value>second <option value>third </select><p> <input type="submit"> firstとsecondを選択してボタンを押した時に、 servletのプログラムの中で、 String option=request.getParameter("opt"); と実行したら、二つのオプション(first,second)を取ってきてくれるんですか? それとも、配列で取得しないとだめなんですか?

  • Java
  • 回答数1
  • ありがとう数2

みんなの回答

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

参考URLに getParameter() メソッドの説明のページを紹介しておきます。 そこから一分を引用すると、 > If you use this method with a multivalued parameter, the value returned is equal to the first value in the array returned by getParameterValues. と、言うことですので、そういう場合には、getParameterValues() メソッドを使いましょう。 多分、以下のことが質問に書かれていますから、分かっているのだと思いますが。 > それとも、配列で取得しないとだめなんですか?

参考URL:
http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String)
myrimyri
質問者

お礼

明けましておめでとうございます。そして、ご回答どうもありがとうございました!これからもどうぞ宜しくお願いします。

関連するQ&A

  • getParameter と getAttributeの違いについて

    Servletで、Form内の任意の項目を取得する場合には、 「getParameter」 と 「getAttribute」があります。 この二つの違いとしては getParameter 戻り値:String なのに対して getAttribute 戻り値:Object という違いがあります。 感覚的には getParameterも、getAttributeも、 Form内の任意の項目の値を取得する場合に getParameter("項目名"); getAttribute("項目名"); という使い方で 「どちらでもHTML(JSP)のフォーム内のデータを取得できる」という感覚がありあます。 ちょっと上手く纏められず、前提が長くなってしまったのですが 【ご質問1】 getParameterとgetAttributeの、 決定的な違いとはなんなのでしょうか? 参考のURLにもあるように 「Parameter は request にユーザが乗せてきたもの。 」であり、 「Attribute は request 生成後に Servlet だか JSP だかがくっつけたもの。」であるという違いが決定的な違いでしょうか? 言い換えれば Parameter は フォーム内のリクエストデータを受け、渡す役割をもつ、担当者であり Attribute は フォーム内のリクエストデータを受け、加工し、渡す役割を持つ担当者である ということでしょうか? 【ご質問2】 getAttributeがあるにも関わらず、 getParameterは何故存在するのでしょうか? getAttributeは戻り値をObject型として戻りますが、String型にキャストしてやれば、それでgetParameterで取得した効果と同じ効果が得られるものだと思われるので getParameterの存在理由が見出せないのですけども、getParameterはgetParameterで何か特別な役割をもっているのでしょうか? 【ご質問3】 フォーム内データを取得する場合、 「getParameter」でなければならないとか「getAttribute」を使用しなければならない、とかそういった決まりはありますでしょうか? [参考URL] http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=403&forum=12

    • ベストアンサー
    • Java
  • JSPのgetParameterのvalueを文字

    変数の宣言部分 String tmp2 = request.getParameter("person"); tmp2 = new String(tmp2.getBytes("8859_1"), "SHIFT-JIS"); 選択フィールド <p>人物名</p> <p class=""><select name="person"> <option value="0" selected>▼下記より選択</option> <option value="1" >あああ</option> <option value="2" >いいい</option> <option value="3" >ううう</option> 表示する箇所 <%= tmp2 %> というプログラムを書きましたが、 このままだと数値のまま取ってきますが、文字(value = 1なら「あああ」)を 取ってこさせるにはどうしたらいいですか?

    • ベストアンサー
    • Java
  • リストボッックスからリストボックスへの値を追加したい

    ASPのプログラムの中に Bというリストボックスの値を「追加」ボタンを押すとAのリストボックスに 追加できるようなスクリプトを作りたいのですが、 Request.Formで同ページにPOSTでsubmitして送っていたのですが それだと何度も追加ができなくなってしまうので他のやり方にしたいのです。 いろいろ調べてVBScriptやJavaScriptでできるのではないかというのまでは わかったのですが、どうもやり方がいまいちわかりません。 できればJavaScriptのほうでやりたいと思うのですがどなたか良い方法を ご教授いただけないでしょうか。 よろしくおねがいします。 <select size="5" multiple name="A"> </select><input type="submit" value="追加"><select size="5" multiple name="B"> <option>AAAAA</option> <option>BBBBB</option> <option>CCCCC</option> </select>

  • サーブレットのパラメタ変更

    例えば、 - a.html - <form method="post" action="/Servlet1"> <input type="text" name="animal" size="12"> <input type="submit" value="送信"> </form> というHTML文がありanimalのテキスト内容がcatとしてServlet1へリクエストしたとします。 Servlet1ではgetParameter("animal")でcatを取得できます。そこで次のページをレスポンスするべく、 getServletContext().getRequestDispatcher("Jsp1.jsp").forward( request, response ); という形でJsp1.jspへフォワードします。Jsp1.jspでもrequest.getParameter("animal");とすると catという値が取得できると思うのですが、これをServlet1でanimalがcatならdogというようにパラメータの値を変更することはできますでしょうか? 初歩的な質問かと思いますが、何卒、宜しくお願いいたします。

    • ベストアンサー
    • Java
  • 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"); とやれば、選択されていたデータは取得できます。 セレクトメニューの中身全部を取得したい場合はどのようにすればよいのでしょうか? よろしくお願いします。

  • 文字化けで困っています。

    文字化けで困っています。 下記のJSPからrequest.getParameterで他のJSPに取得させようとしているのですが、文字化けが起こってしまいます。どなたか、考えられる原因をご教授お願い致します。(eclipse 3.5) <%@page contentType="text/html; charset=Shift-JIS"%> <html:form action="/**/***"> <select name="color_name" > <option value="赤" selected>赤</option> <OPTION value="青">青</option> <OPTION value="黄">黄</option> <OPTION value="緑">緑</option> </select></TD> </html:form> -------------------------------------------------------- <%@page contentType="text/html; charset=Shift-JIS"%> <%=request.getParameter("color_name") %>

    • ベストアンサー
    • Java
  • Request.QueryString

    Request.QueryStringのことで質問です。 下記を何度も選択しなおすと **.asp?kubun=東京&kubun=大阪&kubun=東京・・・ と増えていきます。 Request.QueryStringを入れてあるのは、Request("kubun")以外の中身を引いていきたいからで、Request("kubun")は除外したいのです。 何か簡単な方法はないでしょうか。 **.asp?user=1&lg=yes であったり **.asp?ken=1&part=3 であったりします その後に、kubunを選択しても user=1&lg=yesを保持し、かつ、kubunを何回も選択しなおしたい。Request.QueryStringの中身は毎回異なる。 <SCRIPT language=JavaScript> function Select( parts ){ var i,Msg; Msg = "" ; for (i = 0; i < parts.options.length; i++){ if ( parts.options[i].selected ) { Msg += parts.options[i].value ; } } n = Msg location.href = window.location.pathname + '?kubun=' + n + '&<%= Replace(Request.QueryString, chr(10), "<BR>") %>'; } </SCRIPT> <select name="sl" onChange="Select(this)"> <OPTION SELECTED>↓選択</OPTION> <OPTION value="東京">東京</OPTION> <OPTION value="大阪">大阪</OPTION> <OPTION value="京都">京都</OPTION> </SELECT>

  • getParameterとgetInitParameterの違いについて

    いつもお世話になっています。 現在HTMLファイルからServletを呼び出す処理を行っています。 Servletファイル側のdoPostメソッドのなかでよく記述してある HttpServletRequest.getparameter("パラメタ名")は HTMLファイルのFORMタグのなかにある情報を取得するものですが、 初期処理(initメソッド)でよく記述されている ServletConfig.getInitParameter("パラメタ名")は どこの情報を取得しようとしているものなのでしょうか? また public void doPost(HttpServletRequest request, HttpServletResponse response) という記述ではServletファイルが呼ばれた時に引数をrequestに取得しますが このときresponseの中身はNULLの状態なのでしょうか? responseの使い方がいまいちイメージできなくて。。 たくさん質問してすいません。 何かお気づきの方が居られましたら、ご教授ください。 宜しくお願いします。

    • ベストアンサー
    • Java
  • 別フォームの値を取得したい

    カテゴリーが、HTMLなのかASPなのか、判断がつかないので、とりあえず「その他」に投稿します。 説明が難しいので、わかりにくいと思いますが、よろしくお願いします。 (用語の使い方や表現が間違ってたらすみません) 一つの画面にフォームが二つあり、FORM1へsubmitすると、選択したファイルのダウンロードを行い、別ブラウザ上に表示します。画面は遷移しません。 FORM2へsubmitすると、別画面へ遷移して処理を行います。 別画面に遷移後、FORM1のselect部品のoption値を取得したいのですが、どうしたらいいでしょうか? selectでなければ、hidden属性の部品をFORM2内に設定しておいて、FORM2_OnSubmit()内でセットしてやればいいと思うのですが、selectだと配列になりますよね?(Request.Form("SELECT")(i)といった形式) selectのoption数は動的に変わるので、いくつあるかはsubmitするまでわかりません。 コーディングは、こんな感じです。 <script language="JavaScript"> function DLFunc(f){ ・・・(略)・・・ f.target = ""; f.submit(); } </script> <script language="VBScript"> Sub FORM2_OnSubmit() ・・・(いろいろ処理)・・・ End Sub </script> <form name="FORM1" method="POST" action="DL.asp"> <select name="SELECT" size="5"> <option value="1">ファイル1</option> ・・・(option数は動的に変わる)・・・ </select> <input type="button" value="ダウンロード" OnClick="DLFunc(this.form)"> </form> <form name="FORM2" method="POST" action="Next.asp"> <input name="XXX"> ・・・(以下略)・・・ <input type="submit" value="実行"> </form>

  • form 内 onChange

    恐れいります。 <form>内で、もう一つ<form>を作成し、送信したいのですが、 なかなかうまくいきません。form内のformは、selectボックスで、選択時に自ページにsubmitさせるようにしたいのですが。。 <form action="./xxx.cgi" method="POST"> <input type="text" name="xxx"> <form action="./" method="POST"> <select name="YYY" onChange="this.form.submit()"> <option value="ddd">ddd <option value="eee">eee </select></form> <input type="text" name="xxx"> <input type="submit" value="送信"> </form> よろしくお願いします。

    • ベストアンサー
    • HTML