我需要在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
的中央例外处理程序。