Struts 2 Hibernate校验教程
来源:互联网 发布:linux 关闭wlan0 指令 编辑:程序博客网 时间:2024/06/16 22:49
Struts 2 Hibernate校验例题
Hibernate校验器框架遵循DRY(不自我重复原则)。使用hibernate校验器,你需要在域对象(domain object)使用注释进行指定限制。一旦你指定了限制,那么就可以在不复制的情况下,在应用的所有层中使用它。
Hibernate校验器来自基础内建限制,如:@Length(min=, max=),@Max(value=),@Min(value=),@NotNull,@NotEmpty等等。你也可以简单的创建自定义的限制。
lib路基中需要的lib和上一篇的一样。
域对象(domain object)user,使用了校验限制如下:
这里除了JPA注释意外,还有Hibernate校验限制。
@NotEmpty 约束检查是否为空。
@Length(min=6, max=10) 约束检查是否在最大值和最小值范围之内。
校验信息是由插件自动声称的,我们也可以使用message属性来重写默认的信息。例如下面,为gender和country属性指定自定义信息。
在UserAction类中用@Valid指定需要校验的域对象(domain object)。
自从我们使用Hibernate插件,就需要继承hibernate-default包。在hibernate-default包中包含三个拦截器(interceptor)栈。
- basicStackHibernate : Struts2 basicStack + Hibernate session和transaction性能。
- defaultStackHibernate : Struts 2 defaultStack(没有校验) + Hibernate校验,session和transaction性能。
- defaultStackHibernateStrutsValidation:Struts 2 defaultStack(有校验) + basicStackHibernate。
struts.xml文件如下:
在默认情况下,使用defaultStackHibernate拦截器(interceptor)。在addUser动作(action)中,我们使用默认的拦截器(interceptor)进行校验,在listUser动作(action)中,使用backStackHibernate,因为不需要校验。
在register.jsp页面中,用key属性代替name属性给属性赋值。这是为默认校验所生成的。
key的值可以在UserAction.properties文件指定,这个文件也得保存和UserAction.java文件同一个目录。
在默认情况下,生成用区域标签为前缀的校验信息。
当没有输入任何值而直接提交,那么执行画面和下图相似。
这里的校验信息是为校验User Name,Password和About而生成的。这是因为在UserAction.properties文件里指定了key值。如果只想校验,不在属性文件里指定key值,那么Gender和Country就是只显示自定义的错误信息而不显示区域标签。
源代码:下载
源代码 + lib:下载
- Struts 2 Hibernate校验教程
- Struts 2 使用XML文件校验教程
- Struts、Hibernate简明教程2
- Struts 2 Hibernate整合教程
- SSH(struts+spring+hibernate)迅速开发--附录1 Struts校验框架(2)
- Struts、Hibernate简明教程1
- SSH(struts+spring+hibernate)迅速开发--第七章 用户注册的表单校验(2)
- Hibernate-validator校验框架使用教程
- Struts 2的校验框架
- struts 2的输入校验
- Struts输入校验(2)
- Struts 2 之校验器
- Struts 2 的输入校验
- struts校验
- struts 校验
- struts校验
- struts校验
- Struts校验
- SQL Server 管理对象
- Mysql的GROUP_CONCAT()函数使用方法----多行合并函数
- 关于QT控件的new 与 delete
- Delphi的Lisence被破坏,无法启动!Borland license information was found,but it is not valid for delph
- AOP的应用领域[转载]
- Struts 2 Hibernate校验教程
- SQL常用函数之三 REPLICATE () ?
- SQLDMO操控SQL Server
- tnsnames.ora配置小结
- Ubuntu 安装windows中文字体
- 数据挖掘常见软件
- QT 网址
- Debian 安装中文语言支持
- 在线编辑器的基本实现原理