springmvc 校验,在输入页面报错 command找不到bean的原因。
时间:2019-12-03
本文章向大家介绍springmvc 校验,在输入页面报错 command找不到bean的原因。,主要包括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)); } }
原文地址:https://www.cnblogs.com/sdgtxuyong/p/11978061.html
- 洛谷P2863 [USACO06JAN]牛的舞会The Cow Prom
- 洛谷P1908 逆序对(归并排序)
- 洛谷P1137 旅行计划
- 洛谷P1722 矩阵 II
- 洛谷P1976 鸡蛋饼
- 洛谷P1420 最长连号
- 各种读入方式速度比较
- 美团NLP实习面试总结一 基本知识4 数据结构二 NLP相关技术1 LSTM2 介绍实体链接与实体映射3 解释随机游走的原理及作用4 命名实体识别
- 【下载】苹果发布Turi Create机器学习框架,5行代码开发图像识别
- codevs 4163 hzwer与逆序对
- ASP.NET Core提供模块化Middleware组件
- CSS预处理器的对比 — sass、less和stylus
- Gensim实现Word2Vec的Skip-Gram模型简介快速上手对语料进行分词使用gensim的word2vec训练模型
- React第三方组件4(状态管理之Reflux的使用②TodoList上)
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- PHP析构函数destruct与垃圾回收机制的讲解
- 关于php unset对json_encode的影响详解
- python实现二分类和多分类的ROC曲线教程
- PHP随机数函数rand()与mt_rand()的讲解
- PHP实现小程序批量通知推送
- Keras loss函数剖析
- Laravel使用scout集成elasticsearch做全文搜索的实现方法
- python3.4中清屏的处理方法
- TensorFlow Autodiff自动微分详解
- python interpolate插值实例
- pandas.DataFrame.drop_duplicates 用法介绍
- python如何进入交互模式
- PHP静态方法和静态属性及常量属性的区别与介绍
- 详解PHP变量传值赋值和引用赋值变量销毁
- Keras 利用sklearn的ROC-AUC建立评价函数详解