Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
Spring @来自数据库的数据的有效和绑定结果_Spring_Spring Mvc - Fatal编程技术网

Spring @来自数据库的数据的有效和绑定结果

Spring @来自数据库的数据的有效和绑定结果,spring,spring-mvc,Spring,Spring Mvc,我在其中一个web应用程序中使用Spring验证(JSR 303)。当用户提交数据时,我没有任何问题,Spring验证工作非常顺利。但我有一个场景,我必须从服务中获取数据并进行验证,然后将其绑定到我的视图。(某种非表单验证).在这种情况下,我如何使用@Valid,还是必须以不同的方式使用 这是一个示例代码,我从 @RequestMapping(value = "/{id}", method = RequestMethod.GET) public ModelAndView getView(

我在其中一个web应用程序中使用Spring验证(JSR 303)。当用户提交数据时,我没有任何问题,Spring验证工作非常顺利。但我有一个场景,我必须从服务中获取数据并进行验证,然后将其绑定到我的视图。(某种非表单验证).在这种情况下,我如何使用@Valid,还是必须以不同的方式使用

这是一个示例代码,我从

    @RequestMapping(value = "/{id}", method = RequestMethod.GET)
public ModelAndView getView(
        @PathVariable("id") final String id, @User user,
        HttpSession session) {

    User user=  getUser();

   BindingResult result = new BeanPropertyBindingResult(user, "user");

   validator.validate(user, result);

   if(result.hasErrors()){
       logger.log(Level.ERROR, "Errors");
   }

  ModelAndView view = new ModelAndView ("home");
  view.addObject("user",user );
  view.addAllObject(result.getModel());

   return view;

据我所知,您需要将default
org.springframework.validation.Validator
注入控制器(如果
@Valid
有效,您应该可以这样做)

按如下方式手动运行验证

User user = ...;
BindingResult result = BeanPropertyBindingResult(user, "user");
validator.validate(user, result);
model.addAllAttributes(result.getModel());
并将结果合并到
ModelMap
(将其声明为方法的参数),如下所示

User user = ...;
BindingResult result = BeanPropertyBindingResult(user, "user");
validator.validate(user, result);
model.addAllAttributes(result.getModel());

据我所知,您需要将default
org.springframework.validation.Validator
注入控制器(如果
@Valid
有效,您应该可以这样做)

按如下方式手动运行验证

User user = ...;
BindingResult result = BeanPropertyBindingResult(user, "user");
validator.validate(user, result);
model.addAllAttributes(result.getModel());
并将结果合并到
ModelMap
(将其声明为方法的参数),如下所示

User user = ...;
BindingResult result = BeanPropertyBindingResult(user, "user");
validator.validate(user, result);
model.addAllAttributes(result.getModel());

谢谢你提供的路径。我已经更新了我的帖子以包含我的更改。处理程序处理失败;嵌套的异常是java.lang.NoSuchFieldError:org/apache/log4j/Level.TRACE。我检查了我的maven依赖项,并且对所有Spring JAR(3.1.0)使用了相同的版本。不确定这个错误。是否将log4j作为依赖项之一?v1.2.x或更高版本?抱歉,我应该在这里更新我的进度。是的,我的maven中有slf4j和log4j。我必须让后者离开。现在,我可以从我的验证器中看到错误,我已经将bindingresult设置为我的modelAndView,但是错误没有反映在jsp中,我已经用代码更新了initail帖子。我传递了“错误”变量,并在我的jsp中使用user。这导致错误未在我的视图中绑定。我已更新我的帖子。希望这有帮助。感谢路径。我已更新我的帖子以包含我的更改。处理程序处理失败;嵌套的异常是java.lang.NoSuchFieldError:org/apache/log4j/Level.TRACE。我检查了我的maven依赖项,并且对所有Spring JAR(3.1.0)使用了相同的版本。不确定这个错误。是否将log4j作为依赖项之一?v1.2.x或更高版本?抱歉,我应该在这里更新我的进度。是的,我的maven中有slf4j和log4j。我必须让后者离开。现在,我可以从我的验证器中看到错误,我已经将bindingresult设置为我的modelAndView,但是错误没有反映在jsp中,我已经用代码更新了initail帖子。我传递了“错误”变量,并在我的jsp中使用user。这导致错误未在我的视图中绑定。我已更新了我的帖子。希望这有帮助。