如何使用JSP在Spring MVC中配置验证检查



我需要在Spring MVC中进行验证检查。我有一个基本的HTML表格不是JSTL标签表单。如何在Spring MVC中检查或实现直接数据验证检查?我现在想到的一种方法是使用Regex验证用户名是字母数字[a-zA-Z0-9]

但是我已经看到人们使用Validator做这项工作。我想使用验证器,因为它似乎更加专业。

第二个问题,

我试图获得一个例外处理正常工作,但行之有效。我希望发生绝对的基本响应,the response throws a HTTP.404响应。我的简单方法:

 @RequestMapping(value="/request/view/{id}",method=RequestMethod.GET)
    public String requestSubmit(Model model)

现在有了我的响应字符串,我该怎么做?在stackoverflow上搜索后。他们说要创建一个通用类,例如NotFoundException并将其扩展RunTimeException。但是我仍然不知道该如何将响应设置为404或实际上任何其他响应,甚至Http.BANDWIDTH_EXCEEEDED_RESPONSE

您应该知道的拳头:最好在提交的表单中使用POST而不是GET。因为当您使用GET时,所有model属性都以URL参数发送,这不是一个好练习。

用于使用验证,您可以使用@Valid

public String requestSubmit(@Valid Model model)

然后,您可以使用验证注释,例如@NotNull@Size,...在要验证的Model类的每个属性中。

当用户提交您的表单时,如果每个表单属性都有验证问题,则Spring会自动投掷MethodArgumentNotValidException。对于获取验证错误,您可以在控制器中使用try-catch块,或者更好的方法是使用@ControllerAdvice的中央例外处理程序。

最新更新