いつもお世話になっております。今回もご指導の程宜しくお願い致します。
実行環境
eclipse 4.5Mars
java
JSP+Servletのみの開発
※JSP値入力→servletにて入力値のチェック処理→エラーだったら元のJSP画面へ遷移してエラーメッセージ表示をする
エラーメッセージを元JSP画面へ表示をしたいです。
現在の状況としてはエラーの場合は元のJSP画面へ遷移するところまでは完了しています。しかし問題でありますエラーメッセージが表示されません。
以下ソース
↓JSP画面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="model.ERROR_MSG_form"%>
</body> </html><tr> <td align="left"><b>メールアドレス(ID)</b></td> <td><input type="text" name="mail" size="30" maxlength="20"> </td> </tr> <tr> <td align="left"><b> パスワード</b></td> <td><input type="password" name="pass" size="6" maxlength="4"></td> </tr> </table> <br> <input type="image" src="./JSP/images/shinkitourokubottn.jpg" width="100" height="30"> </form> </center>
↓Servletソース
package servlet;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import dao.C001;
import model.ERROR_MSG_form;
import model.MMPC002form;
import validate.S002;
import validate.S010;
/新規登録画面サーブレット/
@WebServlet("/MMPC002")
public class MMPC002 extends HttpServlet {
private static final long serialVersionUID = 1L;
/* 値取得の為"POSTメッソド"指定 */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=UTF-8"); request.setCharacterEncoding("UTF-8"); /* リクエストパラメーター取得 */ String name = request.getParameter("name"); String mail = request.getParameter("mail"); String password = request.getParameter("password"); /* パラメータ保持Bean */ MMPC002form mmpc002 = new MMPC002form(); mmpc002.setName(name); mmpc002.setMail(mail); mmpc002.setPassword(password); /* 以下エラーチェッククラス */ /* メールアドレス重複チェック */ S002 s002 = new S002(); String er = s002.validate(mmpc002.getMail()); /* 半角文字チェック */ S010 s010 = new S010(); String er1 = s010.validate(mmpc002.getMail()); /* エラーメッセージ保持Bean */ ERROR_MSG_form error_msg_form = new ERROR_MSG_form(); error_msg_form.setEr(er); error_msg_form.setEr1(er1); /* mmpc002をセッション保持 */; HttpSession session = request.getSession(); session.setAttribute("mmpc002", mmpc002); session.setAttribute("error_msg_form", error_msg_form); /* 遷移先選定 */ if (!(er.equals(""))) { RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/jsp/MMPC002.jsp"); dispatcher.forward(request, response); } else if (!(er1.equals(""))) { RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/jsp/MMPC002.jsp"); dispatcher.forward(request, response); } else { C001 c001 = new C001(); c001.create1(); RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/jsp/MMPC003.jsp"); dispatcher.forward(request, response); } }
}
以上が実行ソースです。
デバッグにてエラーメッセージの取得、それからセッションへ格納は目視済です。
原因はJSP内部のセッションの有無を確認するロジックでしょうか。。?
また掲載したHTMLソースやServletソースのコーディング内容に関しましてもご指導頂けるようですとありがたいです。
皆さまご指導の程宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/29 14:03 編集
2016/03/30 01:59
2016/03/30 15:09
2016/03/31 00:02
2016/04/04 14:59