• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フォーム上で押されたボタンによってサーブレットの処理を変えたい)

フォーム上で押されたボタンによってサーブレットの処理を変えたい

ryotaponの回答

  • ベストアンサー
  • ryotapon
  • ベストアンサー率100% (2/2)
回答No.3

お恥ずかしい限りです。 前述の例、動くわけがありませんね(汗) 2つめの例、書きなおします。 --------------------------------------------------- ■JSPのフォーム <form name=MyForm action="<<サーブレットのURL>>" method=post> <input type=button name=MyClick value=登録 onClick="func('Toroku');"> <input type=button name=MyClick value=修正 onClick="func('Shusei');"> <input type=button name=MyClick value=削除 onClick="func('Sakujo');"> <input type=hidden name=MySubmit> </form> <script language="JavaScript"> function func(MyCommand){ document.MyForm.MySubmit.value=MyCommand; document.MyForm.submit(); } </script> ■Servletでの処理 // リクエストの取得 String MyAction = req.getParameter("MySubmit"); // 処理の実行 if (MyAction.equals("Toroku")){...} if (MyAction.equals("Shusei")){...} if (MyAction.equals("Sakujo")){...} --------------------------------------------------- こんな感じでどうでしょうか。 ちなみにこうやって書いておくと、フォームのボタンからじゃなくても アンカーをクリックすることで同じ効果が出せそうな…… <a href="JavaScript:func('Toroku')">登録</a> あ、でもまたボロが出そうなのでこの辺で(^_^;)

urizaka
質問者

お礼

urizakaです。 ありがとうございます。 今度はうまくいったようです。

関連するQ&A

  • ハイパーリンクでサーブレットを起動させたい

    urizakaと申します。 さて、質問なのですが、通常JSPで次の画面へ移行するときは、ボタンを 押してサーブレットのdopost部分へ移動して、そこでページを生成する というやりかたですが、この別の画面へ移動する方法をハイパーリンクの 文字をクリックすると別のサーブレットへ移動するというやりかたって できないのでしょうか?  すみませんが、ご存知の方宜しくお願いします。

    • ベストアンサー
    • Java
  • サーブレットからJSPの呼び出しについて

    こんにちは。 JSPの呼び出しについて質問です。 サーブレットで RequestDispatcher dispatcher = req.getRequestDispatcher("/jsp/java.jsp"); dispatcher.include(req, res); としてJSPファイルを呼び出そうとしているのですが、うまくいきません。コンパイルは通ります。 dispatcher.include(req, res); の部分で例外処理にいってるのでそこがおかしいようですが。urlの指定もjspファイルの内容も何度も確認したのですがミスはないみたいで原因がわかりません。 またTomcatのログファイルlocalhost_logを見ると 2002-07-11 16:05:35 ApplicationDispatcher[/DB] サーブレット jsp のServlet.service()は例外を投げました という文が出力されています。

    • ベストアンサー
    • Java
  • MVCモデルでのサーブレットのやること

    Javaを習い始めた者です。 MVCモデルでのサーブレットのやるべきことが、いまいちつかめないので質問させていただきます。 私が思っているサーブレットのすることは、 (1)送られてきたた情報をgetParameter()する。 (2)JavaBeanを生成したり、getAttribute()する。 (3)getParameter()したものをJavaBeanにsetする。 (4)JavaBean内のメソッドを実行する。 (5)JavaBeanをsetAttribute()する。 (6)別のJSPなどにfoward()する。 です。 (基本的に計算や比較などの処理は、サーブレット上では行わず、JavaBean内のメソッドで行う) この考え方は間違っていますか? あと例えば、ログイン認証のプログラムを作るとき、上の考え方だと、getParameter()したIdとPasswordをJavaBeanにsetして、JavaBean内のメソッドで、setしたIdを元にDBからPasswordをgetしてきます。そしてこのPasswordと、setしたPasswordを比較することになると思います。 でも、私的にはJavaBean内のメソッドで、引数にgetParameter()したIdを与えて、DBからgetしたPasswordを戻り値にします。そしてサーブレット上で、このPasswordとgetParameter()したPasswordを比較しようと思いました。 でもこれだと、サーブレット上でPasswordを比較するという処理を行っているのでMVCモデルに反しているのでしょうか? わかりにくい説明で申し訳ないのですが、教えてください。 お願いします。

    • ベストアンサー
    • Java
  • javaサーブレットでjspへのフォワード処理と、ファイルに出力処理を行いたいのですが。。

    今javaサーブレットとjspでツール作成中です。 DBにアクセスして、その内容をCSVファイルに書き出すというツールなのですが、サーブレットではjspにフォワードという処理と、ファイルに出力という処理の二つを同時に行うことができるのでしょうか。 たくさんの本やサイトにそれぞれ片方の処理だけする場合は載っているのですが、両方を並行して処理させる場合のサーブレットの書き方がわかりません。。 jspからの情報をもとにサーブレットでDAOを生成、DBにアクセスし、検索結果をDTO(一行の情報はBean)に格納し、それをサーブレットからjspにフォワード&CSV出力というものを作りたいと思っています。 よろしくお願いします。

  • jspとサーブレット

    jspはサーブレットに比べるとソースファイルを生成しなければならない分、処理速度が遅くなると書かれてたのですが、ソースファイルを生成とはどういうことなのかわかりません。htmlに埋め込まれたJAVAを取り出すということでしょうか? またサーブレットもJSPもクライアントから要求がきてからプログラムをコンパイルしてるのでしょうか?すなわちコンパイルされてないままWEBサーバに保管されてるのですか? 2点よろしくお願いします。

    • ベストアンサー
    • Java
  • サーブレット

    JFrameでフォームやボタンなどを作っています。 「ボタンを押したらサーブレットを呼び出す」という処理はできますか?

  • JSPで「処理中」をブラウザに表示

    サーブレット+DB、JSPでプログラムをしています。 以下の質問(CGIが対象です) http://www.okweb.ne.jp/kotaeru.php3?q=173368 と似たようなことを、JSPで行うにはどうしたらよいでしょうか。 サーブレットの処理中(長い処理)に、「処理中」のメッセージを表示して、終了したら完了ページに飛ばしたいのです。 「処理中」の表示はJSPでもJavaScriptでも、サーブレットから直接出力しても構いません。 さらに言えば、サーブレットではfor文で処理を回しているので、「○%完了」などが表示できたら最高です。 よろしくお願いします。

    • ベストアンサー
    • Java
  • サーブレットforward時の実行メソッドについて

    初歩的な質問で失礼します。 サーブレットAに doGet, doPost, serviceメソッドを実装しています。 サーブレットBのdoPostメソッド内にて サーブレットAにforwardを実行する場合に、 呼出されるのはサーブレットAのどのメソッドですか? JSPへのforwardはできたのですが、 サーブレットへのforwardができず悩んでいます。 サーブレットのAPIを読んでもいまいちわかりません。 何かメソッドに関する制約があるのでしょうか? 上の質問は全くマト外れでしょうか? 追加ですが・・・ サーブレットからforwardされたサーブレットで、 そこからさらにJSPへforwardすることはできますか? Apache2.0.43+tomcat4.1.12+Java1.4.0_01です。

    • ベストアンサー
    • Java
  • JSP、サーブレットの初期処理

    最初に、あるページをアクセスした時に、 サーブレットで最初の1回目のアクセス時のみ特定の処理をする。 その結果をJSPに返す という事を行いたい場合、 どのような関数(仕組み)? を利用すれば良いのでしょうか? また、その場合にあるイベント(ボタン押下等)でも 初期処理の処理を行う と言う事は可能でしょうか? (関数コールなどで初期処理と同じ箇所に書かれたソースを利用したい) JSP、サーブレット初心者です。よろしくお願いします。

    • ベストアンサー
    • Java
  • 1つのフォームに対して複数のボタン

    1つのフォームメソッドに対して2つの異なる処理のボタンを持たせることは可能でしょうか? 自分のやりたいのはフォームに書き込んだ内容をどちらのボタンを押しても渡すようにしたいのですが出来るのでしょうか?

    • ベストアンサー
    • HTML