zoukankan      html  css  js  c++  java
  • Spring的标签和验证等模块

       使用了spring,真的可以简化很多开发,但前提是你懂spring技术,并且环境,架包没错。

      今天编写了登录验证的模块,但是就是验证不了,不知道哪里出错了,但是也不好改错,这样还是很费时间的。

      错误提示一直是form中的modelAttribute没有接受对象

    Neither BindingResult nor plain target object for bean name 'user' available as request attribute

    ,但是我确实是将对象传递了过去。后来就各种找错误,可能有jar,Hibernate的架包缺失,也可能是控制器出错,也可能是配置文件出了问题,百度了很多页没问出来。看了书上的源码后加载测试。经过很多尝试,发现是modelAttribute的key和其对应的类名有对应关系。java中有些规范如:类名首字母大写,其对应得对象小写等,这是一种习惯,意识到其存在并且遵循,可以省去很多麻烦。

     @RequestMapping(value="/spring",method=RequestMethod.GET)
      public String login(Model model) {
          model.addAttribute(new SpringUser());
          System.out.println("get 方法");
          return "content01/spring";
      }
      @RequestMapping(value="/spring",method=RequestMethod.POST)
      public String login(SpringUser user,Errors errors,Model model) {
          uerValidator.validate(user, errors);
          if(errors.hasErrors()) {
              System.out.println("has errors");
              return "content01/spring";
          }
        model.addAttribute(user);
        return "content01/success01";
      }

    这段代码存在逻辑错误,所以编译不过。

    还有就是<component-scan>扫描注册为bean的类,不要只扫描controller包,所以多写项目还是很有用的。

    还有就是多个控制器的映射关系,有时候可能不会映射到我们希望的jsp上。

  • 相关阅读:
    一分钟 解决Tomcat端口 占用问题
    Java 自定义注解
    Java 解析自定义XML文件
    Junit(手动/自动)加载
    Java思维题
    SSM框架中使用日志框架
    DAC
    SPI接口的FLASH
    晶振测试起振方法
    Jlink不报错的方法
  • 原文地址:https://www.cnblogs.com/Robin008/p/8833429.html
Copyright © 2011-2022 走看看