質問: ### 前提・実現したいこと 前提:Spring MVCを触り始めたところでフロントコントローラー、 DIコンテナーの仕組を軽く理解した程度です 実現したいこと: ログイン画面で入力を想定しています。 入力値:userNoが数字,userPwが文字 入力値が正常であれば、ログイン完了画面。(こっちは正常に動いてます) 入力値が不正であれば、その画面でエラーメッセージをだしたいです。 ### 知りたいこと 1.コントローラー側で処理するのがよいのか、jspで処理するのが良いのか、それともほかの方法がよいのか 2.エラーの解釈があっているのか ### 発生している問題・エラーメッセージ 入力フォームでuserNoのところに文字を入れると modelのクラスのフィールドでNumberFormatExceptionがでて、インスタンスが生成できず、org.springframework.validation.BindExceptionが発生して飛べないのかなと思っています。 DIコンテナーがリフレクションしているフィールドにどうすればexceptionが発生しないようにできるのでしょうか? ### 該当のソースコード public class EmpPermission { private Integer userNo; private String userPw; ..省略.. } @ExceptionHandler(BindException.class) public String BindExceptionHandler(){ System.out.println("理由:ErpPermissionのuserNoにStringが入った"); return "error"; } ### 試したこと 主にGoogleで検索。 しかたなくorg.springframework.validation.BindExceptionを@ExceptionHandlerで処理 文字制御のアノテーションをさがした。 でもなかった。 Spring MVCのformタグをさがした。 でもform:numberタグなかった よろしくお願いいたします
回答: 2.についてはこちらで質問の内容が読み取れなかったので1.のみコメントします。 > > 1.コントローラー側で処理するのがよいのか、jspで処理するのが良いのか、それともほかの方法がよいのか > > > サーバー側にてモデルで入力値チェックを行い、JSPに表示する方法があります。 Spring Getting Started · Validating Form Input thymeleafを使わない、または日本語の情報をお探しであれば、`spring mvc 入力チェック`で検索するといろいろと情報がでてきます。