プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になっております。。。
eclipse3.4
tomcat6.0
の環境で作業しています。
JSPから受け取ったパラメータをサーブレットで条件分岐して、
条件ごとにdispatch fowardで異なったページに遷移させるページを作りたいのですが、うまくいきません。

送信JSPで、
<form action="受け取りサーブレット名" method="post">
<input type="radio" name="url" value="value1"checked>
<input type="radio" name="url" value="value2">
<input type="radio" name="url" value="value3">
<input type="submit" value="jump!">
</form>

と書き、受け取りでサーブレットで

public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {

perform(request, response);
}
     private void perform(HttpServletRequest request,
HttpServletResponse response)         throws ServletException, IOException {

response.setContentType("text/plain; charset=Windows-31J");
request.setCharacterEncoding("Windows-31J");

request.getParameter("url");
String i = request.getParameter("url");

if( i.equals("value1")) {
          request.getRequestDispatcher("/遷移先1").forward(request,response);

}else if(i.equals("value2")) {
          request.getRequestDispatcher("/遷移先2").forward(request,response);

}else if(i.equals("value3")) {
          request.getRequestDispatcher("/遷移先3").forward(request,response);

としています。

これでJSPからデバッグを実行すると、変数iにparam"url"でとってきた"value1"が入っているので、getParameterが成功しているのが分かりますが、その後なぜか遷移先に移りません。

おそらくdispaccher fowardがうまくいっていないか、
if文が間違ってるかだと思うのですが、
どなたかご教授くださいm(_ _)m

A 回答 (1件)

JSPへのリダイレクションなら、


HttpServletResponse#sendRedirect();
を使用すれば、出来ませんか。
    • good
    • 1
この回答へのお礼

ありがとうございました!!

HttpServletResponse#sendRedirect();
でなくて、fowardでそのままいけました!!

単純にurlが間違っていたようでした。。。お騒がせしました。

お礼日時:2008/11/13 15:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています