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

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 validator框架以及filter 乱码

    Struts Validator框架是Apache Struts框架的一个重要组成部分,主要用于处理Web表单验证。它提供了一种声明式的...在`Strutsvalidator`压缩包文件中,你应该能够找到相关的示例代码,帮助你更好地理解和应用这些概念。

    Struts1的validator验证框架

    ### Struts1的Validator验证框架详解 ...然而,随着技术的发展,现代Web应用可能更倾向于使用Spring MVC、AngularJS等新兴框架,但Struts1的Validator框架依然有其不可替代的价值,特别是在遗留系统维护和优化方面。

    struts2验证框架

    1. Validator Framework:Validator Framework 是 Struts2 验证框架的核心组件,负责对用户输入的数据进行验证。Validator Framework 提供了一个通用的验证机制,可以对用户输入的数据进行验证。 2. Validators:...

    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编程之struts校验源代码

    3. **Validator Framework**:Struts框架内置了Validator组件,用于实现服务器端的数据验证。你可以通过在struts-config.xml中配置`&lt;validator&gt;`元素,引用自定义的验证规则文件(如validate.xml),并定义字段级别...

    struts编程思想初探

    - **丰富的插件**:提供多种插件和扩展模块,如Tiles、Struts Validator等。 **4.1.3 Module带来的方便** - **模块化**:支持模块化的应用程序设计,使得大型项目更容易管理和扩展。 ##### 4.2 为什么反对Struts ...

    Struts 1.3.8jar包

    9. **Validator Framework**: Struts 1.3.8 包含了验证框架,提供了表单验证的工具,可以在服务器端验证用户输入的数据,确保数据的准确性和安全性。 10. **Action Mapping**: 在 struts-config.xml 文件中,Action...

    struts1.3.10 全部jar

    然而,需要注意的是,Struts 1.x已经不再维护,现代Web开发更多转向了Struts 2或者其他更现代的框架,如Spring MVC或Play Framework。尽管如此,对于理解MVC架构和Web应用程序的基础,Struts 1.x仍然是一个重要的...

    struts-2.2.3需要导的包

    9. **Spring集成**: 如果你正在使用Spring框架进行依赖注入,那么需要引入 `org.springframework.*` 相关的包,例如 `org.springframework.context.*` 和 `org.springframework.web.struts.*`。 10. **...

    struts1.2 jar包

    然而,需要注意的是,尽管Struts1.2在当时非常流行,但由于其存在一些安全漏洞和已不再维护,目前的Java Web开发更多转向了Struts2或者其他更现代的框架,如Spring MVC和Play Framework。对于新项目,建议使用更安全...

    Struts1.3API

    7. **Validator Framework**:提供表单验证功能,允许开发者定义XML规则文件,检查用户输入的有效性。 8. **Plug-in**:Struts1.3引入了插件机制,使得扩展框架变得更容易,可以添加新的功能或覆盖现有行为。 9. *...

    struts in action 英文版

    同时,书中也会涵盖如何配置Struts,如编写struts-config.xml文件,以及如何创建自定义的Action、Validator和标签。此外,它还会讨论最佳实践,例如错误处理、性能优化和安全性问题。 在实际项目中,学习Struts不仅...

    Struts 1.2.9 jar

    尽管现代Web开发倾向于使用更新的框架如Spring MVC或Play Framework,但理解Struts 1.2.9的工作原理对于深入学习Web开发历史和技术演进过程仍然具有重要意义。同时,掌握这些基础可以帮助开发者更好地理解和适应其他...

    struts_dynavalidator_login.rar_struts

    3. **DynaValidatorForm**:这是动态验证使用的表单类,继承自`org.apache.struts.validator.DynaValidatorForm`。它可以动态地定义验证规则,无需为每个属性创建单独的getter和setter方法。 4. **ValidatorPlugIn*...

    struts1.1api

    9. **Validator Framework**: 提供了验证用户输入的功能,可以定义验证规则,并在ActionForm中应用,确保数据的准确性和完整性。 10. **RequestProcessor**: 负责处理请求,执行预处理和后处理任务,如验证请求、...

    第六章_struts2的国际化与输入校验

    Struts2 提供了多种输入校验的方式,例如使用 Validator Framework,或者使用 Annotation 来实现输入校验。例如: public class User { @RequiredStringValidator(type = ValidatorType.STRING, message = "用户名...

    java Struts 1.x 框架 Web 开发

    9. **Validator框架**:Struts 1.x 的Validator框架用于数据验证,可以定义一系列规则来检查ActionForm中的属性值,确保数据的正确性。 10. **生命周期管理**:Struts 1.x 使用Servlet容器管理Bean的生命周期,对于...

    MLDNStrutsCase.zip李兴华的Struts开发

    2. 基于Validator的验证:Struts2引入了更强大的Validator框架,它允许开发者通过XML配置文件定义验证规则,也可以使用注解方式直接在Action类的属性上声明验证规则。Validator框架支持多种验证类型,如非空检查、...

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

Global site tag (gtag.js) - Google Analytics