
・jspページにあるボタンを押すとServletに値を渡す。
・Servletで処理をする。
・処理の結果を元のjspページに表示する。
というプログラムを作りたいと考えています。
jspページ→Servletで処理をする、という所までは出来たのですが
その後元のページに戻すというところで困っています。
jspページは複数(十数ページ)あり、Servletは1つです。
a.jsp→Servlet→a.jsp
b.jsp→Servlet→b.jsp
このように、どのjspページから呼ばれても、元のjspページに
戻したいのですが、どのようにすれば実現できるでしょうか?
No.2ベストアンサー
- 回答日時:
doGetメソッドなら
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class サーブレット名 extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
try {
res.sendRedirect(new URI(req.getHeader("referer")).getPath());
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
}
(JDKやサーバーなどの環境、eclipse等を使用しているかなど、詳しく書いたほうがいいですよ^^!ロジック自体はもっといいものがあるかどうか検討してみてください。sendRedirectメソッドはリクエスト属性を保持しないので、必要な場合はRequestDispatcher#forwardメソッドの使用も考えられます。その場合はパスの記述が/アプリ名/ファイル名ではなく/ファイル名 になりますが(余談))
この回答への補足
詳しい回答ありがとうございます。
環境は、JDK 6、MySql 5.0、eclipseを使用しています。
import文が足りなかったようで、URIのエラーはなくなりました。
みなさんに教えていただいたものを参考に、
無事、元のjspページに戻ることも出来たのですが・・・
「a.jsp」→「Servlet」→「a.jsp」というページ遷移は上手くいくのですが、
「a.jsp?引数」→「Servlet」→「a.jsp?引数」という引数を持つjspページ間での遷移が出来ません。
元のページに戻るときに、?の後の引数の部分が取れていないようなのですが、
引数つきのページに戻ることは出来ないのでしょうか?
sendRedirectではなく、forwordを使うと出来るのでしょうか?
質問ばかりで申し訳ありませんが、よろしくお願いいたします。
No.4
- 回答日時:
すみません、先ほど「そのパラメーターをServletにも渡さないとだめでしょう。
」と書きましたが、今回はサーブレットの処理はすんでいるということですので、必要ないですね。失礼。No.3
- 回答日時:
kingyo0c0さんのやりたいことを把握できているかわかりませんが、
「a.jsp?引数」→「Servlet」→「a.jsp?引数」
ということは a.jspを呼んだときにクエリ情報(?引数というのはたとえば?id=1見たいな感じですよね?)をセットしているのですよね?これはスコープがリクエストですから、そのパラメーターをServletにも渡さないとだめでしょう。例)<a href=サーブレットのURL?引数>あいうえお</a>
そうするとサーブレット側では、先ほどのgetPath()をtoString()にするとa.jsp?引数にリダイレクトしてくれます。PS:困ったときはまずjavadocを見るといいですよ^^!
お礼が遅れてしまってすみません。
丁寧なご回答ありがとうございます。
Liveinjapaさんに教えていただいた内容で
無事、解決することができました。
何度も質問を重ねてしまってすみませんでした。
本当にありがとうございました。
No.1
- 回答日時:
sendRedirectをつかうなら
res.sendRedirect(new URI(req.getHeader("referer")).getPath());
見たいになると思います(試してませんのでわかりませんが)。
この回答への補足
回答ありがとうございます。
教えていただいたコードで試してみたのですが、
res.sendRedirect(new URI(req.getHeader("referer")).getPath());の
URIの部分でエラーが出てしまいます。
コードをそのまま書いたのでは出来ないのでしょうか?
大変初歩的な質問で申し訳ありませんが、
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java 問題作成のWebアプリの作り方を教えてください 1 2022/11/26 22:01
- バックアップ ファイル履歴を使用してバックアップよりハードディスクドライブに保存した方良いですか? 3 2022/09/29 22:31
- Windows 10 ビデオカードが変更されたPCの復元 1 2022/11/29 02:01
- Windows 10 WIN10(MAC-bootcamp)で 起動時のパスWが どうにもならない 2 2023/06/30 11:40
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- SEO 検索エンジン反映遅い 1 2022/06/04 07:35
- Chrome(クローム) スマホのChromeはなぜ、進むボタンが無いのですか? 3 2023/02/07 23:36
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- PHP PHP ページング データベース 1 2022/06/16 10:30
- PHP PHP MySql ページング 2 2022/09/20 06:38
このQ&Aを見た人はこんなQ&Aも見ています
-
Java-jspの画面入力値保持について
Java
-
フォーム上で押されたボタンによってサーブレットの処理を変えたい
Java
-
JSPからServletへの遷移
Java
-
-
4
リクエストに応じたselectedの初期値設定方法
Java
-
5
getParameterで値が取得できず、困ってます
HTML・CSS
-
6
Javascriptの値をJava(JSP)へ渡す方法
Java
-
7
HTMLで前の画面に戻る時、入力していた値が消えてしまいます。
PHP
-
8
count(*)で取得した値をJAVAの変数に代入するには?
Java
-
9
JSPの処理の途中で、JavaScriptの処理をしたい
JavaScript
-
10
レコード件数の表示
Java
-
11
JSPからJSPへ情報を渡せる?
Java
-
12
JSP内でString型からint型に変換する方法(SAStruts使用)
Java
-
13
サーブレットコンテキストの意味がわからなくて困っています。
Java
-
14
Eclipseで、プロジェクト名のところに赤いバッテンのエラーマークが
Java
-
15
JSPでリンクを利用してパラメータを次画面に渡す方法について。
Java
-
16
データ数をカウントしたいのですが
Java
-
17
servletからjspへオブジェクトの配列情報を送る方法
Java
-
18
JSPやサーブレットでSystem.out.println()などでコンソールに出力できますでしょうか?
Java
-
19
javaのstrutsを使った画面遷移で戻るボタンを押した時、値を残すには
Java
-
20
JSPからServletに、テーブルに格納された値を渡したい
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
webアプリを作ってます。エラー...
-
Seaser2のフォルダ構成について
-
JSPからJSPへ情報を渡せる?
-
eclipseで新規Tomcatプロジェク...
-
struts2 jspファイル直接参照禁...
-
三菱GOTの画面切り替えについて
-
フォルダ改行
-
VB.NET DataReaderが開かれている
-
株価や為替レートのリアルタイ...
-
モーダル画面の親をクリック時...
-
私の能力からして間違っていな...
-
ASPとCGIの違い
-
NetworkStreamからのRead()で、...
-
ボタンが活性化の場合とは、ボ...
-
VBScriptで「My Documents」フ...
-
CSVダウンロードでウィンド...
-
「画面が閉じられた」という行...
-
JSPでのリストボックス表示
-
Javaプログラミングの質問にな...
-
c++で画面を2分割にして片方...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jspからServletを呼び、元のjsp...
-
webアプリを作ってます。エラー...
-
JSPからJSPへ情報を渡せる?
-
javascriptでformの送信後、値...
-
Struts:フレーム内JSPからcssフ...
-
検索後のページ再表示初期化
-
JSPの変数受け渡しについて教え...
-
jspでbeanを使いたいのです...
-
1つのフォーム内容を1つのsubmi...
-
servletからjspへの遷移時に文...
-
TOMCATで\\webapps\\ROOTフォル...
-
TomcatとJSPの階層関係
-
Tomcatで開発したStrutsアプリ...
-
Servletで値を受け取る
-
文字列を抽出したい
-
JSPとは凄いのか?SEO的には?
-
jspからjarを参照したいのですが
-
WebLogic6.0 でのJSPプリコンパ...
-
JSPでimportを行う時の、変数の...
-
jspから別のjspへパラメータ...
おすすめ情報