jspで入力された情報を、javaServletで受けとるコードを作っています。
Stringで来る情報をintに変える際に、数字以外が入力されていたら『入力エラー』を表示して返すことにしたいです。
ただ、Stringをintに変えるところまでは出来たのですが肝心な文字チェックがコーディング出来ず悩んでおります。
宜しくお願い申し上げます。
java
1 2//Servlet 3package ex; 4 5import java.io.IOException; 6 7import javax.servlet.RequestDispatcher; 8import javax.servlet.ServletException; 9import javax.servlet.http.HttpServlet; 10import javax.servlet.http.HttpServletRequest; 11import javax.servlet.http.HttpServletResponse; 12 13public class Question04Servlet extends HttpServlet { 14 15 public void doPost(HttpServletRequest request, HttpServletResponse response) 16 throws IOException, ServletException { 17 18 // レスポンスの為のコンテンツタイプの設定。クライアントにどのようなデータを送るのかを指定 19 response.setContentType("text/html; charset=utf-8"); 20 // リクエストのエンコードの設定。リクエスト・パラメータ読み込み時の文字コードを明示 21 request.setCharacterEncoding("utf-8"); 22 23 //Beanクラスのインスタンス生成 24 Question04FormBean q4 = new Question04FormBean(); 25 26 //リクエストからパラメータの取得 27 String inputData1 = request.getParameter("inputData1"); 28 String inputData2 = request.getParameter("inputData2"); 29 String msg = "入力に不備があります。整数を入力してください。"; 30 31 //入力チェック(「null」或いは、空文字チェック) 32 if (null == inputData1 || "".equals(inputData1)) { 33 //入力値がない場合 34 q4.setMsg(msg); 35 } else if (null == inputData2 || "".equals(inputData2)) { 36 //入力値がある場合 37 q4.setMsg(msg); 38 } 39 40 //整数に変換 ※ここで同時にチェック判定を行いたい。 41 int number1 = Integer.parseInt(inputData1); 42 int number2 = Integer.parseInt(inputData2); 43 44 //足算を実施 45 int sum = number1 + number2; 46 msg = String.valueOf(sum); 47 q4.setMsg(msg); 48 49 //リクエストに「msg」をキーに値をセット 50 request.setAttribute("msg", msg); 51 } 52 53} 54
回答5件
あなたの回答
tips
プレビュー