我需要有关Spring MVC中验证检查的快速帮助。我有一个基本的HTML表单而不是JSTL标签表单。如何在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
你应该知道的第一件事:在表单提交中使用POST
而不是GET
会更好。因为当你使用GET
时,所有你的model
属性作为url参数发送,这不是一个好习惯。
要使用验证,您可以使用@Valid
:
public String requestSubmit(@Valid Model model)
然后你可以在@NotNull
类的每个属性上使用像@Size
,Model
,...这样的验证注释来验证它。
当用户提交表单时,如果每个表单属性都有验证问题,spring会自动抛出MethodArgumentNotValidException
。要获得验证错误,您可以在控制器中使用try-catch
块,或者更好的方法是使用@ControllerAdvice
中央异常处理程序。