- 締切済み
JSPとサーブレット間での画面遷移でうまく表示できません。
いつもお世話になっております。。。 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
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Yanch
- ベストアンサー率50% (114/225)
JSPへのリダイレクションなら、 HttpServletResponse#sendRedirect(); を使用すれば、出来ませんか。
お礼
ありがとうございました!! HttpServletResponse#sendRedirect(); でなくて、fowardでそのままいけました!! 単純にurlが間違っていたようでした。。。お騒がせしました。