Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java @Valid failure时自动返回到输入表单_Java_Validation_Spring Mvc_Bean Validation - Fatal编程技术网

Java @Valid failure时自动返回到输入表单

Java @Valid failure时自动返回到输入表单,java,validation,spring-mvc,bean-validation,Java,Validation,Spring Mvc,Bean Validation,我的控制器中有以下方法: @RequestMapping(value = "/status", method = RequestMethod.POST) public String update(@Valid StatusForm statusForm, BindingResult result) { if(result.hasErrors()) { return "statusForm"; } //do stuff when there are

我的控制器中有以下方法:

@RequestMapping(value = "/status", method = RequestMethod.POST)
public String update(@Valid StatusForm statusForm, BindingResult result) {    
    if(result.hasErrors()) {
        return "statusForm";
    }
    //do stuff when there are no errors        
        return "dashboard";
}
在这些方法中,似乎有很多都有重复的代码块:

if(result.hasErrors()) {
    return "statusForm";
}

有没有办法避免在发生验证错误时插入此块并自动重定向回POST请求的来源?

可以从多个页面访问相同的操作,因此您必须以某种方式配置错误视图。例如,在struts中,有一个xml文件描述每个操作的输入jsp。可能会创建一个包含视图id的注释,并实现一个用于处理此逻辑的方法


目前在代码中执行此操作的方法有一个优点。它允许您在操作方法中进行额外的验证,可能检查数据库中的一些值或一些更复杂的业务规则,并以统一的方式处理这些错误。

同一操作可以从多个页面访问,因此您必须以某种方式配置错误视图。例如,在struts中,有一个xml文件描述每个操作的输入jsp。可能会创建一个包含视图id的注释,并实现一个用于处理此逻辑的方法


目前在代码中执行此操作的方法有一个优点。它允许您在操作方法中进行额外的验证,可能检查数据库中的一些值或一些更复杂的业务规则,并以统一的方式处理这些错误。

在控制器处理程序方法中,确保BindingResult参数紧跟在command参数之后。

在控制器处理程序方法中,确保BindingResult参数紧跟在command参数之后。

我来自Struts和Struts2,因此我的问题是这样的!我理解附加验证的价值,但在许多不需要附加验证的简单情况下,这将是一个很好的选择。我来自Struts和Struts2,因此我的问题的原因!我理解附加验证的价值,但在许多不需要附加验证的简单情况下,这将是一个很好的选择。