質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

解決済

JSP画面にてエラーメッセージが表示できない

kyasubaru
kyasubaru

総合スコア21

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

1回答

0評価

0クリップ

22562閲覧

投稿2016/03/28 15:27

いつもお世話になっております。今回もご指導の程宜しくお願い致します。

実行環境
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"%>

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link rel="stylesheet" type="text/css"href="<%request.getContextPath();%>/JSP/CSS/MMPC002.css>"> <script type="text/javascript"src="./JSP/javascript/jquery-2.2.0.min.js"></script> <script type="text/javascript" src="./JSP/javascript/seinengappi.js"></script> <link href="./JSP/CSS/MMPC002.css" rel="stylesheet" type="text/css" /> <title>新規アカウント作成</title> </head> <body bgcolor="white"> <img src="./JSP/images/My Maneger logo.jpg" width="230" height="70"> <form method="POST" action="./Logout"> <input type=submit name="mmpc2" value=login class=login> </form> <br></br> <% if (!session.isNew()) { ERROR_MSG_form msg = (ERROR_MSG_form) session.getAttribute("error_msg_form"); msg.getEr(); msg.getEr1(); } %> <pre> </pre> <center> <form action="/MyManager/MMPC002" method="POST"> <table border="1" bordercolor="#00008b"> <tr> <td align="left"><b> 名前</b></td> <td><input type="text" name="name" size="30" maxlength="20"></td> </tr>
<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>
</body> </html>

↓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ソースのコーディング内容に関しましてもご指導頂けるようですとありがたいです。
皆さまご指導の程宜しくお願い致します。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。