gooドクター有料プランが1ヶ月間無料!

Javaについて勉強している者です。

現在、エントリー(登録)画面で入力した文字の検証処理をサーバーサイドで行い、
エラーがある場合は再度ページを表示し、その際には一緒に
エラーメッセージを添える処理を作成したいと考えております。

入力チェックを行うクラスを作ってみたものの、
エラーメッセージをどのように組み込めば良いかという点に悩んでおります。

まとめてみると、期待する処理の流れは次の通りです。
1、エントリー画面に入力された文字の検証処理を行う
2、エラーがある場合にはJSPを再度表示(entry.jsp)
3、再度表示した際にエラーメッセージを添える。


下記はコードの一部です。

//INSERTChecker.java

//未入力チェック
public boolean requiredCheck(String input){
if(input.equals("")){
return false;
}
return true;
}

//数値チェック//
public boolean numberCheck(String input){

for(int i = 0; i < input.length(); i++){

if(!Character.isDigit(input.charAt(i))){
return false;
}
}
return true;
}


}

//Validator.java
public class Validator extends HttpServlet{
public boolean validate(HttpServletRequest req)
throws ServletException,IOException{

request.setCharacterEncoding("Windows-31J");

String id = req.getParameter("id");
String pass = req.getParameter("pass");
String name = req.getParameter("name");
String tel = req.getParameter("tel");

InputChecker check = new InputChecker();

//未入力事項がないかチェック
check.requiredCheck(id);
check.requiredCheck(pass);
check.requiredCheck(name);
check.requiredCheck(tel);

//数字のみが入力されているかをチェック
check.numberCheck(tel);

return true;


//Servlet
else if(select != null && select.equals("エントリー")){

String id = req.getParameter("id");
String pass = req.getParameter("pass");
String name = req.getParameter("name");
String tel = req.getParameter("tel");

Bean bean=new Bean();
bean.setId(id);
bean.setPass(pass);
bean.setName(name);
bean.setTel(tel);

Entry cEntry=new Entry();//登録クラス
cEntry.entry(bean);

Validator vEntry=new Validator();
vEntry.validate(req);

req.setAttribute("INSERT",cEntry);
target = "/top.html";//登録後、topページに戻る
}


request辺りがキーワードになるのかな、と考え、色々調べたのですが
解決策は見つかりませんでした。


記述方法やアドバイス等御座いましたら、ご教授お願いいたします。
長文失礼いたしました。

gooドクター

A 回答 (1件)

エラーメッセージをリクエストに格納して


JSPでそれを取得すればいいわ
    • good
    • 4

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

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

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング