• 締切済み

java、サーブレットなどを勉強しています。html(jsp)のfor

java、サーブレットなどを勉強しています。html(jsp)のform actionでサーブレットに飛ばしたいとき、レイアウト上別の処理をさせたい(submit)ボタンがあります。 form actionタグはネスト出来ないとの事で、他の方法を探しています。 submitでなく、type="button" でjava script処理と言う解法があるようですが、まだそこまで勉強していないので、ひとつ教えてください。 input type="submit"にvalueがあります、ボタン名になりますが、このvalueは受け手のサーブレットで、読めないのでしょうか。読めればそれによって、処理を分けれるのですが。 あるいは、input type="submit"でサーブレットに別の情報を送る手段はあるでしょうか。 よろしくお願いいたします。

みんなの回答

  • akito0417
  • ベストアンサー率20% (55/266)
回答No.2

こんな感じですかね。 <html> <head> <script type="text/javascript"> function test(param) { document.form1.hidBtn.value = param; } </script> </head> <body> <form action="飛ばしたい先" name="form1"> <input type="submit" value="submit1" onclick="test('submit1')" /> <input type="submit" value="submit2" onclick="test('submit2')" /> <input type="hidden" name="hidBtn value="" /> で、飛ばす先のServletで String buf = request.getString("hidBtn"); if(buf.equals("submit1")){ // 処理1 } else if (buf.equals("submit2")) { // 処理2 } こんな感じで出来ると思います。 request.getString()はあってるかどうか覚えてません。 ただ確かこんな感じで取れたような気がするだけです。 他にもgetAttribute("")とかも合った気がします。 なんせ普通のServletを暫く組んでいない為、やり方忘れましたが、hiddenパラメータにJavascriptから値をセットしてやればServletで受取る事は可能です。 このrequestってのは知ってると思いますが、HttpServletRequestのインスタンスです

  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.1

hiddenの項目を用意しておいて、submit時にそれぞれの値を設定してはどうでしょうか? <input type="submit" value="auau" onclick="this.form.exec.value='auau'"> <input type="submit" value="hoge" onclick="this.form.exec.value='hoge'"> <input type="hidden" name="exec"> このような感じで。

関連するQ&A