我需要有关Spring MVC中的验证检查的快速帮助。我有一个基本的HTML表单 not JSTL Tag表单。如何在Spring MVC中检查或实现直接数据验证检查?我现在想到的一种方法是使用正则表达式来验证用户名是字母数字[a-zA-Z0-9]
。
但是我已经看到人们使用Validator
来完成这项工作。我想使用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
答案 0 :(得分:1)
您应该知道的第一件事:在表单提交中最好使用POST
而不是GET
。因为当您使用GET
时,所有model
属性都作为url参数发送,所以这不是一个好习惯。
要使用验证,您可以按以下方式使用@Valid
:
public String requestSubmit(@Valid Model model)
然后,您可以在要验证它的@NotNull
类的每个属性上使用验证注释,例如@Size
,Model
,...。
当用户提交您的表单时,如果每个表单属性都有验证问题,spring会自动抛出MethodArgumentNotValidException
。为了获得验证错误,可以在控制器中使用try-catch
块,或者更好的方法是将中央异常处理程序与@ControllerAdvice
一起使用。