zoukankan      html  css  js  c++  java
  • springmvc 校验,新增,及在输入页面报错 command找不到bean的原因。

    1.  在显示跳转的页面控制器中,传入modelAttribute的赋值,并在显示的jsp页面,用modelAttribute的属性将他显示出来。

    如控制器代码:

    @RequestMapping("/adminList")
        public String adminList(Admin admin) {
            return "adminList";
        }

    这段代码主要负责转向,需要带上参数,admin。

    然后jsp页面,有如下显示:

    <form:form action="adminAdd" method="post" modelAttribute="admin"  >
     user:<form:input path="name" /><form:errors path="name" /><br>
     password:<form:input path="password" /><form:errors path="password"/><br>
     email:<form:input path="email" /><form:errors path="email"/><br>
     lock:<form:input path="lockFlag" /><br>
     <input type="submit">
    </form:form>

    具体的校验过程,需要在添加方法中,实现校验:

    @RequestMapping("/adminAdd")
        public String adminAdd(@Valid Admin admin ,BindingResult error) {
            if(error.getErrorCount()>0)
            {
                System.out.println("出错了!");
                
                for(FieldError err:error.getFieldErrors()){
                    System.out.println(err.getField() + ":" + err.getDefaultMessage());
                }
                
             return "adminList";
            }
            adminService.addAdminService(admin);
            return "addSuccess";
        }

    校验的元数据,在bean中,用注解的方式标注

    在hibernate-validator的jar 6.0.18中,在引入jar时提示hibernate的命名空间的那个已经过期,可以用spring提供的,试验结果,新的spring的可以跑通。

    package cn.taotao.bean;
    
    import javax.validation.constraints.Email;
    import javax.validation.constraints.NotEmpty;
    
    public class Admin {
    
        private int id;
        @NotEmpty
        private String name;
        @NotEmpty
        private String password;
        @Email
        private String email;

    其中最关键的一点,就是在转向时,带入bean的参数。

    另外如果对于修改的操作,需要注入@ModelAttribute的方法,他会提前执行并且给表单域赋值。(待测)

        @ModelAttribute
        public void getAdmin(@RequestParam(value="id",required=false) Integer id,
                Map<String, Object> map){
            if(id != null){
                map.put("admin", adminService.getAdminByIdService(id));
            }
        }
  • 相关阅读:
    criteria用法
    Python Web开发学习-Django(13)多对多关系
    Python Web开发学习-Django(12)多对一关系
    Python Web开发学习-Django(10)查询集操作
    Python Web开发学习-Django(9)数据的增删改查
    Python Web开发学习-Django(11)导入数据到数据库
    Python Web开发学习-Django(8)数据的添加、获取和筛选
    Python Web开发学习-Django(7)数据库连接
    Python Web开发学习-Django(6)数据库迁移
    Python Web开发学习-Django(5)获取URL的中的数据
  • 原文地址:https://www.cnblogs.com/sdgtxuyong/p/11978061.html
Copyright © 2011-2022 走看看