`
xitong
  • 浏览: 6202970 次
文章分类
社区版块
存档分类
最新评论

Struts Validator Framework的使用

 
阅读更多

框架又见框架.......

比起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-frameworks:在Java Struts Framework上进行实践,还包括Struts Validator框架,Java Server Pages(JSP)和Hibernate以连接到SQL Oracle DMBS。 另外,通过创建银行Web应用程序和应用这些技术的Forum Web应用程序来探索和组合这些技术。

    Struts-JSP-Hibernate框架在Java Struts Framework上进行实践,还包括Struts Validator框架,Java Server Pages(JSP)和Hibernate以连接到SQL Oracle DMBS。 另外,通过创建银行Web应用程序和应用这些技术的Forum ...

    struts-2.3.30-all所有jar包

    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, ...

    structs程序设计从入门到精通word文档

    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人介绍...

    struts 2.3.4.1 最新英文版API

    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 ...

    SSH基于Eclipse实现Web层的分页功能源代码

    教学-传智播客-项目视频经典之作巴巴运动网...\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

    实现Web层的分页功能源代码

    教学-传智播客-项目视频经典之作巴巴运动网...\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

    将Web层分页封装成通用模块源代码

    教学-传智播客-项目视频经典之作巴巴运动网...\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

    SSH基于Eclipse将Web层分页封装成通用模块

    教学-传智播客-项目视频经典之作巴巴运动网...\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和hibernate__jar包,详细说明看jar包列表

    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-...

    开源框架jar包(百度云盘)

    · 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 ...

    javaweb开发包大全

    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-...

    271个java需要用的jar包

    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 Web Application Framework-开源

    Calyxo鼓励进行MVC-Model2 Java Web应用程序开发。 它提供对真正的模块化应用程序,i18n,灵活的视图管理,强大的验证引擎等的支持。 Calyxo的Struts插件可以代替Struts的Tiles和Validator。

    Spring API

    5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP...

    开源框架 Spring Gossip

    第一个 Struts 程式 在 Struts 中整合 Spring 第一个 JSF 程式 在 JSF 中整合 Spring &lt;br&gt; 其它 Spring 提供了简化且一致的方式,让您在使用一些 API 或服务时更加简单。 远程...

    Spring中文帮助文档

    5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP...

    spring chm文档

    5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP...

    java面试宝典

    为什么要使用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...

Global site tag (gtag.js) - Google Analytics