2012-03-02 108 views
0

我明白如果我使用springMVC并将json对象传递给控制器​​,它会尝试将json对象绑定到控制器pararmenter,但是如何处理绑定错误?我使用这样的东西,但似乎不是用户。springmvc处理json请求

public String save(@RequestBody @Valid SomeList list, BindingResult result){ 
    if(result.hasError()){ 
     System.out.println(result); 
     } 
} 

回答

1

通常,您可以返回提交数据的相同视图。如果您有<form:error>标签,则会显示它们(由于绑定信息)。

但是,这肯定是一个Ajax调用,所以你可以做的是设置一个特定的响应状态中,如果身体:

response.setStatus(HttpServletResponse.NOT_ACCEPTABLE); 

,然后寻找在Ajax响应该状态码(406)处理程序。如果您需要准确的验证信息,您可以尝试序列化绑定结果本身作为响应。

0

System.out.println将会一无所获。基本上它所说的是将绑定结果输出到服务器jvm。

既然你正在返回一个字符串,我会假设你正在返回一个视图名称,所以你可能想将用户重定向到一个错误页面。