Urizakaです。
さて、さっそく質問です。
JSPの同一フォーム上に「登録」「修正」「削除」のボタンを置き、その押された
ボタンによってサーブレット内での処理が切り替わる(具体的には、違う
SQL文を実行し、違うJSPページをgetRequestDispatcherメソッドで生成
する)ようにしたいのですが、どのようにすればよいのでしょうか?
もちろんそれぞれの処理に対して別々のサーブレットを作り、javaScript
でそれぞれのサーブレットへ飛ぶように制御するという処理も考えたことは
考えたのですが、できれば一つのサーブレットで済ませたいと考えたもので
…宜しくお願いします。
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>
あ、でもまたボロが出そうなのでこの辺で(^_^;)
No.2
- 回答日時:
あ、すみませんでした!
(誤)
if(document.MyForm.MyClick.value="検索")
(正)
if(document.MyForm.MyClick.value=="検索")
イコールが1つ抜けていましたね……。
でもさっきは動いたような……。
ブラウザのバージョン違いかな??
これで、どうでしょうか。
この回答への補足
urizakaです。
いえ、駄目でした。
やはりhiddenになっているMySubmitにうまく数値が入らないよう
なのですが…
うーん。
ちなみに私の環境はJbuilder4です。
No.1
- 回答日時:
こんにちわ。
僕の知ってるやりかたでは、フォームのボタン名を
パラメータとしてサーブレットに渡してあげて、
それをサーブレット側で判断して処理を実行させる方法が
あります。
例えば、以下のようになります。
---------------------------------------------------
■JSPのフォーム
<form name=MyForm action="<<サーブレットのURL>>" method=post>
<input type=submit name=MySubmit value=Insert>
<input type=submit name=MySubmit value=Update>
<input type=submit name=MySubmit value=Delete>
</form>
■Servletでの処理
// リクエストの取得
String MyAction = req.getParameter("MySubmit");
// 処理の実行
if (MyAction.equals("Insert")){...}
if (MyAction.equals("Select")){...}
if (MyAction.equals("Delete")){...}
---------------------------------------------------
といったやり方があります。
上にあげたやり方だと、ボタンの名前が英語になります。
日本語で動くかどうかは……ちょっと試してないです。
もし日本語でダメなら、ちょいと面倒だけどこんなやり方もあるかと思います。
---------------------------------------------------
■JSPのフォーム
<form name=MyForm action="<<サーブレットのURL>>" method=post>
<input type=button name=MyClick value=検索 onClick="func();">
....
<input type=hidden name=MySubmit>
</form>
<script language="JavaScript">
function func(){
if(document.MyForm.MyClick.value="検索")
{document.MyForm.MySubmit.value="Search";}
...
document.MyForm.submit();
}
</script>
---------------------------------------------------
後は同様。
この場合、サーブレットに送るパラメータを、実際のコマンド名じゃなくて
コマンドIDとかにして管理しておくと、なおよいかもしれませんね。
以上、参考になれば幸いです。
この回答への補足
Urizakaです。
回答ありがとうございます。
しかしながら、前者はともかく、後者なのですが動きませんでした。
いろいろと試してみたところ、どうやらMySubmitのパラメーターが
Servletへ行っていないようなのですが…
こちらでもいろいろと試して見ますので、すみませんがまた宜しく
お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
推しミネラルウォーターはありますか?
推しミネラルウォーターがあったら教えてください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
Java-jspの画面入力値保持について
Java
-
jspからServletを呼び、元のjspページに戻るにはどうしたらよいですか?
Java
-
リクエストに応じたselectedの初期値設定方法
Java
-
-
4
JSPのクラスをコンパイルできない問題
Java
-
5
getParameterで値が取得できず、困ってます
HTML・CSS
-
6
servletからjspへオブジェクトの配列情報を送る方法
Java
-
7
正しいURL指定しているにもかかわらずJSPファイルにアクセスできず「404エラー」が発生
Java
-
8
JSPやサーブレットでSystem.out.println()などでコンソールに出力できますでしょうか?
Java
-
9
レコード件数の表示
Java
-
10
ServletからServletへの値渡し
Java
-
11
JSPからJSPへ情報を渡せる?
Java
-
12
MySQLでデータベースにデータinsert時のエラー。
Java
-
13
JSPのNULLレコード表示について教えて下さい。
Java
-
14
「value」に2つの値をセットする方法
HTML・CSS
-
15
jspにcssを反映させるには
HTML・CSS
-
16
count(*)で取得した値をJAVAの変数に代入するには?
Java
-
17
JSPからServletへの遷移
Java
-
18
Javascriptの値をJava(JSP)へ渡す方法
Java
-
19
ラジオボタンの選択肢をサーブレットで取得するには?
Java
-
20
JSPでリンクを利用してパラメータを次画面に渡す方法について。
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リクエストに応じたselectedの...
-
フォームで同じ複数のnameで違...
-
jspでjavascript関数へ引数を渡...
-
int型の内容をbyteの配列にコピー
-
HashMapで、valueにマッピング...
-
フォーム上で押されたボタンに...
-
EL式 true falseを表示
-
<bean:write.../>がエラーを出す
-
JSFでJavaScriptを使用するには?
-
「<c:forEach タグが終了し...
-
jspファイルで注文フォームの合...
-
教えてください:strutsのhtml:...
-
jspファイルにjavaファイル...
-
Struts2のファイルアップロード...
-
strutsを使用したjspでjavascri...
-
struts bean:defineについて
-
struts-config.xmlの設定
-
jspでbeanを使いたいのです...
-
ボタンが活性化の場合とは、ボ...
-
漏電遮断器の黄色ボタンと白色...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リクエストに応じたselectedの...
-
「<c:forEach タグが終了し...
-
フォーム上で押されたボタンに...
-
フォームで同じ複数のnameで違...
-
int型の内容をbyteの配列にコピー
-
strutsを使用したjspでjavascri...
-
StrutsでPOSTのデータ(リクエ...
-
JSPでのリストボックス表示
-
struts-config.xmlの設定
-
jspでjavascript関数へ引数を渡...
-
javaでDBから取得したデータのJ...
-
formでテキストとファイルタイ...
-
Strutsで、どのRadioボタンが選...
-
JSFでJavaScriptを使用するには?
-
動的に作成したラジオボタンの...
-
HashMapで、valueにマッピング...
-
ラジオボタンの選択肢をサーブ...
-
Struts2のタグについて
-
Java struts プルダウン
-
JavaとSQLServer2000の接続につ...
おすすめ情報