框架又见框架.......
比起Struts框架本身,validatro framework 对代码的侵入性少的多,仅需要继承ValidatorForm或者ValidatorActionForm即可,使用起来方便很多,你不用在form的validate方法中写大量的验证代码,特别有些关于对输入内容的校验还比较复杂,利用框架可以节省不少力气,框架提供了很多实用校验方法,如果校验的字段发生改变,一般不必修改代码,直接改框架配置文件即可.......
废话少说,进入正题:
step1)引入validator framework
在struts-config.xml(也不一定是这个文件,也许你有多个配置文件,但一般在这个里面写)写入
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,
/WEB-INF/validation.xml"/>
</plug-in>
另外还应该在Struts配置文件中加入<message-resources parameter="resources.application"/>
这个是资源文件,里面装有显示在页面上的错误信息
Struts配置文件的例子:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<form-beans>
<form-bean name="mediumForm" type="gasturbine.web.view.form.MediumForm" />
<form-bean name="TestForm" type="gasturbine.web.view.form.TestForm" />
</form-beans>
<global-exceptions>
</global-exceptions>
<global-forwards>
</global-forwards>
<action-mappings>
<action path="/Index" type="org.apache.struts.actions.ForwardAction" parameter="/pages/medium/input.jsp" />
<action path="/Welcome" type="org.apache.struts.actions.ForwardAction" parameter="/pages/Welcome.jsp" />
<action path="/Test" type="gasturbine.web.view.action.TestAction" name="TestForm" scope="request">
<forward name="input" path="/pages/medium/input.jsp" />
</action>
<action path="/propertyCalculation" type="gasturbine.web.view.action.PropertyCalculationAction" name="mediumForm" scope="request" validate="true" input="/pages/medium/input.jsp">
<forward name="result" path="/pages/medium/result.jsp" />
</action>
</action-mappings>
<message-resources parameter="resources.application" />
<plug-in className="org.apache.struts.tiles.TilesPlugin">
<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
<set-property property="moduleAware" value="true" />
<set-property property="definitions-parser-validate" value="true" />
</plug-in>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,
/WEB-INF/validation.xml" />
</plug-in>
</struts-config>
step2) 准备validator-rules.xml,validation.xml
可以轻易看出框架需要两个文件validator-rules.xml,validation.xml
前者指定校验的规则,并不需要你改动(除非你要加入你自己的校验器).,这个网上到处都有,都是通用的,copy后放到项目的WebContent/WEB-INF目录下
后者针对具体的应用,大部分情况下需要自己写,一个例子如下:
validation.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<form-validation>
<formset>
<form name="mediumForm">
<field property="p" depends="required,mask" >
<arg0 key="page.medium.pressure" />
<var>
<var-name>mask</var-name>
<var-value>^[1-9.]*$</var-value>
</var>
</field>
<field property="t" depends="required,mask" >
<arg0 key="page.meium.temperature" />
<var>
<var-name>mask</var-name>
<var-value>^[a-z]+</var-value>
</var>
</field>
</form>
</formset>
</form-validation>
- <form name="mediumForm">对应你要校验的form,name和配置文件form name中一样,当然你也可以写成<form name="/propertyCalculation"/>,即将name写成配置文件中的action path,这两者的区别下一节谈
- <field property="p" depends="required,mask" >很明显是form的属性,property即属性名,depends即你要如何来交验这个属性,例子中是对属性是否为空和内容进行交验
- <arg0 key="page.medium.pressure" />
step 3)将需要校验的form继承ValidatorForm或者ValidatorActionForm
这两个的区别在于:前者专门针对某个具体名字的form进行校验,
未完
分享到:
相关推荐
Struts-JSP-Hibernate框架在Java Struts Framework上进行实践,还包括Struts Validator框架,Java Server Pages(JSP)和Hibernate以连接到SQL Oracle DMBS。 另外,通过创建银行Web应用程序和应用这些技术的Forum ...
commons-validator-1.3.1.jar, core-0.6.2.jar, dwr-1.1.1.jar, ezmorph-1.0.6.jar, freemarker-2.3.22.jar, google-collections-1.0.jar, google-gxp-0.2.4-beta.jar, guava-r09.jar, jackson-core-asl-1.9.2.jar, ...
1.1 JSP Framework - Struts介绍 8 1.2 Struts的体系结构 8 1.3 Struts1.0学习文档 8 1.3 JSP流行模板Struts的安装配置 8 1.4Struts 用户指南 8 1.5 你的第一个struts应用程序 8 第2章深入Struts结构 8 2.1人介绍...
org.apache.struts2.views.xslt The new xslt view supports an extensible Java XML adapter framework that makes it easy to customize the XML rendering of objects and to incorporate structured XML text ...
教学-传智播客-项目视频经典之作巴巴运动网...\spring-framework-2.5.5\dist\modules\spring-webmvc-struts.jar MySQL: mysql-connector-java-5.1.16-bin.jar 运行: http://localhost:8090/control/center/main.do
教学-传智播客-项目视频经典之作巴巴运动网...\spring-framework-2.5.5\dist\modules\spring-webmvc-struts.jar MySQL: mysql-connector-java-5.1.16-bin.jar 运行: http://localhost:8090/control/center/main.do
教学-传智播客-项目视频经典之作巴巴运动网...\spring-framework-2.5.5\dist\modules\spring-webmvc-struts.jar MySQL: mysql-connector-java-5.1.16-bin.jar 运行: http://localhost:8090/control/center/main.do
教学-传智播客-项目视频经典之作巴巴运动网...\spring-framework-2.5.5\dist\modules\spring-webmvc-struts.jar MySQL: mysql-connector-java-5.1.16-bin.jar 运行: http://localhost:8090/control/center/main.do
org.springframework.web.struts-3.1.1.RELEASE.jar slf4j-api-1.5.8.jar slf4j-log4j12-1.5.8.jar spring-aop-3.1.1.RELEASE.jar spring-asm-3.1.1.RELEASE.jar spring-beans-3.1.1.RELEASE.jar spring-context-...
· commons-validator-1.3.1-src.zip · commons-lang3-3.2.1-src.zip · commons-fileupload-1.2.1-src.zip · commons-dbutils-1.3-bin.zip · commons-pool-1.5.5-bin.zip · commons-io-2.0-bin.zip ...
avalon-framework-4.2.0.jar barbecue-1.5-beta1.jar barcode4j.jar c3p0-0.9.2-pre1.jar classworlds-1.1.jar commons-beanutils-1.7.0.jar commons-beanutils-1.8.0.jar commons-chain-1.2.jar commons-...
commons-validator-1.3.1.jar core-0.6.2.jar cxf-api-2.7.4.jar cxf-rt-bindings-soap-2.7.4.jar cxf-rt-bindings-xml-2.7.4.jar cxf-rt-core-2.7.4.jar cxf-rt-databinding-jaxb-2.7.4.jar cxf-rt-frontend-jaxws-...
Calyxo鼓励进行MVC-Model2 Java Web应用程序开发。 它提供对真正的模块化应用程序,i18n,灵活的视图管理,强大的验证引擎等的支持。 Calyxo的Struts插件可以代替Struts的Tiles和Validator。
5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP...
第一个 Struts 程式 在 Struts 中整合 Spring 第一个 JSF 程式 在 JSF 中整合 Spring <br> 其它 Spring 提供了简化且一致的方式,让您在使用一些 API 或服务时更加简单。 远程...
5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP...
5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP...
为什么要使用Struts? 23 103、Struts的validate框架是如何验证的? 24 104、说下Struts的设计模式 24 105、spring工作机制及为什么要用? 24 106、HttpSession session = request.getSession() 24 107、getParameter...
为什么要使用Struts? 23 103、Struts的validate框架是如何验证的? 24 104、说下Struts的设计模式 24 105、spring工作机制及为什么要用? 24 106、HttpSession session = request.getSession() 24 107、getParameter...