使用动态ActionForm-DynaActionForm(应用&Validator)
来源:互联网 发布:linux dd命令 进度 编辑:程序博客网 时间:2024/05/22 06:31
参考:http://annygn.blog.ccidnet.com/blog/ccid/do_showone/tid_124947.html && book: STRUTS开发入门与项目实践 (里面的Validator一直不起作用,弄了一天现在才知道原因了)
我用的是MyEclipse的Add Struts Capabilities产生的struts.jar,从书的光盘里下载的不知道是什么版本,不一样。用那个Struts.jar,Validator就起作用,用我下载的就不管用。
整个项目:
struts-config.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources>
<data-source key="oracleDB1" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<set-property property="url" value="jdbc:oracle:thin:@127.0.0.1:1521:oradb"/>
<set-property property="maxActive" value="5"/>
<set-property property="username" value="carol"/>
<set-property property="password" value="carol"/>
</data-source>
</data-sources>
<form-beans>
<form-bean name="formBean1" type="classmate.UserForm"/>
<form-bean name="registForm"
type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="name" type="java.lang.String"/>
<form-property name="psw1" type="java.lang.String"/>
<form-property name="psw2" type="java.lang.String"/>
</form-bean>
</form-beans>
<global-forwards>
<forward name="failed" path="/error.jsp"/>
<forward name="successed" path="/right.jsp"/>
<forward name="registSuccessed" path="/registRight.jsp"/>
</global-forwards>
<action-mappings>
<action path="/login" type="classmate.LoginAction" name="formBean1" scope="request" validate="true" input="/error.jsp"/>
<action path="/registSubmit" type="classmate.RegistAction" name="registForm" scope="request" validate="true" input="/error.jsp"/>
<action path="/regist" forward="/regist.jsp"/>
</action-mappings>
<message-resources parameter="classmate.MyResource"/>
--配置STRUTS验证插件
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
<set-property property="stopOnFirstError" value="false"/>
</plug-in>
</struts-config>
其实主要也就是STRUTS-CONFIG.XML的配置,其他的两个validator-rules.xml是struts自带的,而 validation.xml是自己编的一些验证规则,这里是:<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
<form-validation>
<formset>
<form name="registForm">
<field
property="name"
depends="required,maxlength">
<arg0 key="label.username"/>
<arg1 key="${var:maxlength}" resource="false" />
<var>
<var-name>maxlength</var-name>
<var-value>2</var-value>
</var>
</field>
<field
property="psw1"
depends="required,validwhen,maxlength">
<arg0 key="label.password"/>
<arg1 key="${var:maxlength}" resource="false" />
<var>
<var-name>maxlength</var-name>
<var-value>2</var-value>
</var>
<var>
<var-name>test</var-name>
<var-value>((psw2 ==*this*) and (*this* != null))</var-value>
</var>
</field>
</form>
</formset>
</form-validation>
里面具体原理在网上查查就有,与之配合的还有:MyResource.properties里面的:
errors.required={0} is null
errors.minlength={0} can not less than {1} char.
errors.maxlength={0} can not more than {1} char.
errors.validwhen={0} unmatch
颜色对应的部分到时候就会在<action-mapping/>里定义的错误页面中的<html:errors/>来显示。
- 使用动态ActionForm-DynaActionForm(应用&Validator)
- 使用动态ActionForm-DynaActionForm(原理)
- DynaActionForm--动态ActionForm
- Struts的动态ActionForm(DynaActionForm)
- 动态ActionForm使用随笔
- 动态ActionForm使用随笔
- 动态ActionForm的使用
- 动态ActionForm的使用
- 使用动态ActionForm
- Struts2 使用动态ActionForm
- 使用动态ActionForm
- 自学SSH框架之---struts(五):动态的ActionForm(DynaActionForm)
- Struts 动态actionForm的使用
- struts中的DynaActionForm类和ActionForm类
- DynaActionForm类 支持Map的ActionForm(Map-backed ActionForm)
- 保持struts-config.xml不变,将动态Form org.apache.struts.action.DynaActionForm转化成ActionForm的例子
- 动态ActionFrom --DynaActionForm
- 动态ActionForm
- 与朋友交往需注意的十个问题
- 飘浮广告js代码
- VC++ SDK 写的象棋游戏 用类实现的
- 一个js特效滚动广告播放器
- 提问题怎么题呀
- 使用动态ActionForm-DynaActionForm(应用&Validator)
- c/c++ 深入探讨数组内存模型
- MyEclipse中配struts数据源的问题——解决办法
- ADO .net 数据库表绑定到gridview 并排序
- 基于Oracle的面向对象技术基础简析
- C#中打印Rtf文档
- 福州养私家车的成本
- 卡片(TAB)(2)
- Tomcat+DB2数据库连接池设置