【4】SSH整合-加入struts校验框架
2009-07-24 21:31
141 查看
struts2为我们提供了一套校验的框架,只要使用即可
在action下新建同名文件: XXXAction-validation.xml ,往当中写入相应的校验信息,struts在页面提交的时候会自动在此文件当中去寻找相应的信息进行匹配
一个文件范例如下:SaveUserAction-validation.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="user">
<field-validator type="visitor">
<param name="context">user</param>
<param name="appendPrefix">true</param>
<message>user's </message>
</field-validator>
</field>
</validators>
此文件中只配置了采用visitor的类型进行校验,如出现错误信息会在信息前添加user‘s 字段
然后在User类的文件夹下创建关于User的具体校验信息
范例如下:User.hbm.xml,注意文件名一定要符合规范
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="oa.sean.bean.User" table="users">
<id name="id" type="java.lang.Integer" column="id">
<generator class="increment"></generator>
</id>
<property name="firstname" type="string" column="firstname" length="50"></property>
<property name="lastname" type="string" column="lastname" length="50"></property>
<property name="age" type="java.lang.Integer" column="age" ></property>
</class>
</hibernate-mapping>
这里在强调一点:对于有状态的Action在配置的时候要将其配置成prototype,否则将会出现系列问题
典型的就是配置好之后第一次输入错误将正确的返回错误信息,第二次依然返回错误信息而无法提交
因为action默认的是singleton类型,所有只生成一个实例,而错误信息只要第一次产生便会存在
就算第二次输入的是正确的信息,依然有第一次的fielderror存在,因此表单仍然不会提交
至此,能为表单提供一个符合自己要求的校验框架了
在action下新建同名文件: XXXAction-validation.xml ,往当中写入相应的校验信息,struts在页面提交的时候会自动在此文件当中去寻找相应的信息进行匹配
一个文件范例如下:SaveUserAction-validation.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="user">
<field-validator type="visitor">
<param name="context">user</param>
<param name="appendPrefix">true</param>
<message>user's </message>
</field-validator>
</field>
</validators>
此文件中只配置了采用visitor的类型进行校验,如出现错误信息会在信息前添加user‘s 字段
然后在User类的文件夹下创建关于User的具体校验信息
范例如下:User.hbm.xml,注意文件名一定要符合规范
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="oa.sean.bean.User" table="users">
<id name="id" type="java.lang.Integer" column="id">
<generator class="increment"></generator>
</id>
<property name="firstname" type="string" column="firstname" length="50"></property>
<property name="lastname" type="string" column="lastname" length="50"></property>
<property name="age" type="java.lang.Integer" column="age" ></property>
</class>
</hibernate-mapping>
这里在强调一点:对于有状态的Action在配置的时候要将其配置成prototype,否则将会出现系列问题
典型的就是配置好之后第一次输入错误将正确的返回错误信息,第二次依然返回错误信息而无法提交
因为action默认的是singleton类型,所有只生成一个实例,而错误信息只要第一次产生便会存在
就算第二次输入的是正确的信息,依然有第一次的fielderror存在,因此表单仍然不会提交
至此,能为表单提供一个符合自己要求的校验框架了
相关文章推荐
- SSH 框架整合----struts 中文编码
- 搭建SSH整合框架步骤(Struts2+Spring4+Hibernate4)
- 使用MyEclipse整合ssh(Struts、Spring、Hibernate)三大框架(环境搭载+实例源码下载)
- 用maven整合struts+spring+hibernate之三 加入框架支持
- ssh(Struts+spring+Hibernate)三大框架整合-简述
- Spring+Hibernate+Struts(SSH)框架整合实战
- SSH : struts、spring、hibernate等框架的整合
- SSH框架整合中Struts出现问题Struts Problem Report
- SSH(struts+spring+hibernate)迅速开发--附录1 Struts校验框架(1)
- 使用MyEclipse整合ssh(Struts、Spring、Hibernate)三大框架(环境搭载+实例源码下载)
- SSH整合时Struts验证框架问题
- SSH(struts+spring+hibernate)迅速开发--附录1 Struts校验框架(2)
- SSH Java三大框架整合(Struts 2+Hibernate+Spring+mysql)
- 使用MyEclipse整合ssh(Struts、Spring、Hibernate)三大框架(环境搭载+实例源码下载)
- ssh 框架整合之struts-spring第一种解决方案
- Struts+Spring+Hibernate三大框架(SSH)怎样整合
- [转] 浅谈ssh(struts,spring,hibernate三大框架)整合的意义及其精髓
- 浅谈ssh(struts,spring,hibernate三大框架)整合的意义及其精髓
- 【SSH】:基于Struts2+HIbernate3+Spring3实现员工管理系统之框架整合篇
- SSH(Spring+Struts+Hibernate)框架学习之ajax技术和struts的整合