OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

JSP+Servletで終了ボタン

  • すぐに回答を!
  • 質問No.118898
  • 閲覧数802
  • ありがとう数2
  • 気になる数0
  • 回答数4
  • コメント数0

JSPで、終了ボタンをクリックしたときに、
ブラウザを閉じる、といった処理は
<INPUT TYPE = "submit" NAME="EXT" VALUE ="終了" onclick ="window.close();">

などでできるとあったのですが、
終了ボタンで、ページ(JSPではなく、
HTML)を移動する場合、onclick=以下に
HTMLのアドレスを書いたらいいのでしょうか?
やってはみたのですが、うまくいきませんでした。
うまくいかないというのは、
そのままServletにリクエストがわたるようで、
表示ページから何も移動しないということです。

また、<a href = "・・・></a>という
リンクのタグもやってみましたが、
ランタイムエラーがでてしまいました。

何か外しているようでしたら、教えていただきたい
のですが。。。。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.4
レベル10

ベストアンサー率 28% (33/117)

二つ案を用意しました。両方とも、

button1を押したら、サーブレットにサブミットされ、
button2を押したら、次のURLに移動します。

**案1********************
<form action="/servlet/SimpleServlet">
<input type="submit" name="button1" value="終了">
<input type="button" name="button2" onClick="save();">
</form>

function save(){
document.write("<FORM name=\"SAVE\" method=\"POST\" action=\"/html/nexturl.html\"");
document.write("<INPUT type=\"hidden\" name=\"AAA\\" value=\"aaa\">");
document.write("</FORM >");
document.SAVE.submit();
}
**********************


他にも、
**案2********************
<form name="FORM1">
<input type="button" name="button1" onClick="save(1);">
<input type="button" name="button2" onClick="save(2);">
</form>

function save(n){
if(n==1)document.forms[FORM1].action="/servlet/SimpleServlet";
if(n==2)document.forms[FORM1].action="/html/nexturl.html";
}

**********************
補足コメント
noname#2205

kuro_73さんのコードでやってみると
できました!!!

有り難うございます!!
大変感謝しております。
投稿日時 - 2001-08-15 15:51:10
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル10

ベストアンサー率 28% (33/117)

その処理を行うには、HTMLの<FORM>の知識が必要です。 JavaScript(onclick等)を使用して、もう少し複雑な処理をするなら、 JavaScriptの知識も多少必要です。 SUBMITをするときのアクション先は、 <FORM>タグのactionに次のURLやServletのURLを書きます。 <FORM action="次のURL&q ...続きを読む
その処理を行うには、HTMLの<FORM>の知識が必要です。
JavaScript(onclick等)を使用して、もう少し複雑な処理をするなら、
JavaScriptの知識も多少必要です。

SUBMITをするときのアクション先は、
<FORM>タグのactionに次のURLやServletのURLを書きます。
<FORM action="次のURL">
<INPUT TYPE = "submit" NAME="EXT" VALUE ="終了">
</FORM>

基本的に<INPUT>タグは<FORM>タグの中にあるものです。
同じサーブレットに飛んでしまうのは<FORM>タグが無いために、
現在のURLに対してSUBMITしているのだと思います。
補足コメント
noname#2205

ありがとうございます。

<FORM action="次のURL">
<INPUT TYPE = "submit" NAME="EXT" VALUE ="終了">
</FORM>

これはやっております。
Formタグには、Servletのアドレスを書いているので
Servletにリクエストが送信されるのは分かるのですが、

たとえば。。。
onclick以下にselef.close()等と続けると、
Servletにはリクエストは送信されず、
ブラウザを終了してくれたので、
onclick を使えばいいのかなあと
安直に思ったものですから。。。
投稿日時 - 2001-08-15 10:42:51


  • 回答No.2
レベル10

ベストアンサー率 28% (33/117)

<補足> FORMにはMETHODがあって、 <FORM METHOD="GET">とか<FORM METHOD="POST">とか指定します。 これらはそれぞれ、javax.servlet.http.HttpServletのdoGet()やdoPost()メソッドが受け取ります。 <a href = " ...続きを読む
<補足>
FORMにはMETHODがあって、
<FORM METHOD="GET">とか<FORM METHOD="POST">とか指定します。
これらはそれぞれ、javax.servlet.http.HttpServletのdoGet()やdoPost()メソッドが受け取ります。

<a href = "次のURL?aaa=AAA&bbb=BBB"></a>
というような指定で次のURLやServletに飛んだときの動作は
次のフォームの動作と等しくなります。
つまり、<a href></a>はGETの動きをするんです。

<FORM METHOD="GET" ACTION="次のURL">
<INPUT TYPE="submit">
<INPUT TYPE="hidden" name="aaa" value="AAA">
<INPUT TYPE="hidden" name="bbb" value="BBB">
</FORM>

同様に、ブラウザのアドレスバーからURLを打ち込んだ場合もGETメソッドと等しい動作をします。
補足コメント
noname#2205

POSTで受け取るようにしています。


うーん。。。
流れとしては、

1.JSPの終了ボタンをクリックすると、
Servletにリクエストが送信され、
2.Beanで処理、
3.その後、ServletがJSPを呼び出す

という感じですよね?

それで、やりたいのは、
JSPの終了ボタンクリックによって
JSPを表示するのではなくて、
別に存在するHTML画面を表示させたいんです。
画面を移動させたいんです。

結局、JSPの終了ボタンクリックでServletに
制御がわたるので、そこで
なにかしないといけないんですか???
投稿日時 - 2001-08-15 10:46:32
  • 回答No.3
レベル14

ベストアンサー率 50% (1122/2211)

こういうことでしょ。 <form> <input type="button" value="終了" onClick="location = 'next_url.html'"> </form> type="submit" のボタンを押すから、form の a ...続きを読む
こういうことでしょ。

<form>
<input type="button" value="終了" onClick="location = 'next_url.html'">
</form>

type="submit" のボタンを押すから、form の action で指定されている
servlet に制御が渡るんです。
補足コメント
noname#2205

ありがとうございます。

a-kumaさんが書いたように試してみたのですが
できなかったので。。。

>type="submit" のボタンを押すから、form の action
>で指定されている
>servlet に制御が渡るんです。

はい。ボタンのところだけ、ただのformタグに
してやってみたのですが、指定の仕方が悪いのだと
思うんですけど、真っ白いページがでてきました。
location以下はただ単にhtml名だけでいいのでしょうか?
パスを指定してもだめでした。

それと、ボタンは3つあって、
1ボタン、2ボタン、終了ボタン
があるのですが、終了ボタン以外は
クリックでServletにリクエストを渡す
ボタンにしたいのです。
タグで、TABLEタグを用いてますが、
終了ボタンだけ、Formタグを別にすることが
できませんでした。。
なにか方法がありましたら教えてください。
投稿日時 - 2001-08-15 11:38:24
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ