違うページのフォームデータをsubmitしたい

このQ&Aのポイント
  • 違うページのフォームデータを関連付けてsubmitする方法
  • jspとservletを使用して違うページのフォームデータを受け渡す方法
  • jspとservletを使ってフォームデータを関連付けて送信する方法
回答を見る
  • ベストアンサー

違うページのフォームデータをsubmitしたい

失礼致します。 質問させてください。 下にあるjsp-Servletについて値の受け渡しに困っています。目的は、jspから表示される(ソースはservletにある)入力ボタンにてjspソース中のチェックボタンのon/off情報(画面から入力される。)をservlet2に受け渡したいのです。 しかし、submitボタンのあるソースとは違うソースにあるフォーム情報をどのようにして関連付けて飛ばせばいいか分かりません。 よろしくお願いします。 jsp ------------------------------------------ // servletをインクルード。入力ボタンがここに来る。 <jsp:include page = "/servlet" flush="true"> <jsp:param name="name" value="<%=name%>"/> </jsp:include> // 入力ボタンの下にチェックボックスが表示される。 int nSerial = requset.getParameter(Serial); <input type='checkbox' name='" + nSerial + "' value='on'> ------------------------------------------- servlet.java ------------------------------------------- // 入力ボタンのソースはここにある。 String name = req.getParameter(name); out.println("<form method=post action=servlet2>"); out.println(" <input type=hidden name=name value="+name+">"); out.println(" <input type=submit value='入力'>"); out.println("</form>"); --------------------------------------------

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

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

  • ベストアンサー
  • process9
  • ベストアンサー率29% (81/272)
回答No.1

process9です。 うにゅ。servlet2のチェックボックスで指定した値を受け取る部分の ソースがないのでやりたいことがよく分からないのですが。。。 補足として、 1.jspを呼び出したとき 2.servlet.javaを呼び出したとき(1.でサブミットした後の) ブラウザのHTMLの該当部分を提示してみてください。 あと 3.servlet2でどう受け取りたいか? の部分も書いてくれると詳細に説明できるかも知れません。

javatea_1985
質問者

お礼

ご回答ありがとうございました。 無事解決しました。 JSP ------------------------------------------- <jsp:include servlet> | Servlet- - - - - - - - - - -| | | <form> | <~> | <~> | // form閉じない - - - - - - - - - - - - - - - -| <~> </form> // ここで初めて閉じる ------------------------------------------ とすることができました。 これで、サーブレットへ受け渡されたパラメーターによってformの開始位置をずらすことも可能になりました。いろいろ使えそうです。ありがとうございました。m(__)m

関連するQ&A

  • submitで。。。

    現在、JBuilderを使ってサーブレット+JSPのWEBアプリを作っています。 悩んでいるのは、IEでバックボタンを使って元のページに戻れないようにしたいのですが、 INPUTのTYPEがsubmitの場合、うまくいかないのです。 調べてみると「location.replace()」を使えばよいようなのですが。。。 現在は以下のようにやっています。(TestServletはサーブレット) <input type="submit" action="javascript:location.replace('TestServlet') ~> <input type="text" name="T1"> <input type="submit" name="Submit" value="TEST"> このようにすると、submitボタンを押した場合、リクエストがTestServletのdoPostでなくて、doGetにいってしまうのです。 そうすると「String 値 =request.getParameter("T1");」のようにしてT1の値を取得しようとしても"null"となってしまいます。 なにか他によい方法があるのでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Java
  • submitで日本語をおくりたい

    自分は現在JSPの勉強をしているのですが、JSPからサーブレットにsubmitをつかって、日本語を送信した場合文字化けして表示されてしまうので困っています。 ソースコードで説明させていただくと JSP側ソース <%@ page contentType="text/html;charset=Shift_JIS" pageEncoding="Shift_JIS" %> <html> <head><title>a</title></head> <body> <form action="Hello" method="post"> <textarea rows="10" cols="40" name="comment"> ここにコメントを書いて送信を押すとコメントがつきます </textarea><br> <input type="submit" value="送信"> </form> </body> </html> サーブレット側 import java.io.*; import java.text.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class hello extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); response.setCharacterEncoding("Shift_JIS"); PrintWriter out = response.getWriter(); String msg = request.getParameter("comment"); out.println("<html>"); out.println("<head>"); out.println("<title>Hello World!</title>"); out.println("</head>"); out.println("<body>"); out.println(msg);//ここで表示 out.println("</body>"); out.println("</html>"); } } この様なソースを書いたのですが、サーブレット側で日本語を表示させようとすると、文字化けしてしまいます(英語は普通に表示されます)。 どのようにすれば、サーブレット側で日本語を表示できるのでしょうか? お返事おまちしております。

    • ベストアンサー
    • Java
  • JSP→JSP フォームチェック

    困っているので助けてください。 まずプログラムの説明をさせてもらいます。 JSPからfromをつかってJSPにフォーム情報を送ります。 プログラムはこんな感じです。 <form action="abcdefg.jsp" method="post"> <input type="hidden" name="abc" value="abc"> <input type="hidden" name="def" value="def"> <input type="checkbox" name="aa" value="aa"> <input type="checkbox" name="bb" value="bb"> <input type="checkbox" name="cc" value="cc"> <input type="submit" value="次へ"> </form> これをabcdefg.jspで受け取る場合 String hidden_abc = request.getParameter("abc"); String hidden_def = request.getParameter("def"); とhiddenは必ず値が入っているのでこれで受け取れるのですが チェックボックスは選択しているかどうかわからないので上の記述では だめなようなのですがどのようなプログラムを書いたらいいのですか? 説明がうまく出来なく申し訳ないです。よろしければ教えてください。

    • ベストアンサー
    • Java
  • サーブレットが起動しない

    HTMLのSubmitボタンを押すと、Sample_Servletにリクエストが 送信されます。そして、JSPを表示します。 その後、JSPのSubmitボタンを押すと 何もかわりません。Servletにリクエストが わたってないのだと思います。 <FORM ACTION ="sample.Sample_Servlet" METHOD = "POST"> ・・・ <INPUT TYPE = "submit" NAME="btn" VALUE ="btn"> としているのですが、、、、 何か心当たりがありましたらお願いします。

    • ベストアンサー
    • Java
  • jspからServletにデータを送るには?

    javaを使って開発をしているのですが、 jspからServletにデータを送るのってform型のsubmitでしかできないですか? <a href="~">で行うことは無理でしょうか? ちなみに、form型だと以下のようにしています <form method="post" action ="hogeServlet" > <input type="hidden" name="id" value =<%=hoge.getid() %>> <input type="submit" id="button1" value="ほげ"> </form>

  • 押下ボタンによってSubmit先を変えたい・その2

    つい先日、解決ソースを頂きましたuinonaです。 教わったソースを試した所、SubmitボタンにNameを付けているのに、 何も入っていないんです。(押されたボタンを受信側で判別出来ない) SubmitのName属性さえ付ければ複数Submitボタンの判別は可能なはずなのに、 なぜなのでしょうか?なにか設定等あるのでしょうか?またまた困ってしまいました。 ご回答の程よろしくお願いします。 <!-- aaa.asp --> <form action="aaa2.asp" method="post"> <input type="hidden" name="field" value="test"> <input type="submit" name="btnQ" value="Q"> <input type="submit" name="btnZ" value="Z"> </form> <!-- aaa2.asp --> <% If Len(Request.Form("btnQ")) > 0 Then ←※ Server.Transfer "bbb.asp" Else Server.Transfer "ccc.asp" End If %> ※"btnQ"を押下しているのにLen(Request.Form("btnQ"))=0なんです・・

  • 2つのsubmitボタンがあるときに

    最初に書いたボタンが優先され 単にリターンキーを押したときに 最初のsubmitボタンが反応します。 後のsubmitボタンが反応するようにするにはどうしたらいいのでしょうか? つまり下記のPHPをブラウザに表示させているときにリターンキーを押したときには submit2 is pushed. と表示させるにはどうしたらいいのでしょうか? <form method="post" action="<?=$PHP_SELF?>"> <input type="text"/><br/> <input type="checkbox"/><br/> <input type="radio" name="radio"/><br/> <input type="submit" name="submit" value="submit1" tabindex=-1/><br/> <input type="submit" name="submit" value="submit2" tabindex=1/><br/> </form> <?php if(isset($_POST['submit'])) { echo$_POST['submit'].' is pushed.'; } ?>

    • ベストアンサー
    • PHP
  • サーブレットのパラメタ変更

    例えば、 - 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
  • 複数のデータを1度にsubmitするには?

    HTML初心者です。 下記の様にして、1つのsbmitで複数のデータを送りたいのですが、 後のデータ1つしか送れません。どうすればできるかお教え下さい。 *あくまで1つのsbmitボタンで同じnameの複数のデータを送りたいのですが。 ------------------------------------------------ <form method="get" action="xxx.cgi"> <input type="submit" name="leave" value="退室"> <input type="hidden" name="asyuku" value="101"> <input type="hidden" name="asyuku" value="102"> </form> ------------------------------------------------ よろしくお願いします。

  • フォームについて

    <form action="test.php" method="GET"> <input type="hidden" name="page" value="1"> <input type="submit" value="index"></form> <form action="test.php" method="GET"> <input type="hidden" name="page" value="1"> <input type="submit" value="index"></form> --------------------------------------------- このようにして書くと、どうしてもボタンが縦に並んでしまいます。どのようにすれば横一列に並べる事が出来るでしょうか?

    • ベストアンサー
    • HTML

専門家に質問してみよう