框架又见框架.......
比起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框架是Apache Struts框架的一个重要组成部分,主要用于处理Web表单验证。它提供了一种声明式的...在`Strutsvalidator`压缩包文件中,你应该能够找到相关的示例代码,帮助你更好地理解和应用这些概念。
### Struts1的Validator验证框架详解 ...然而,随着技术的发展,现代Web应用可能更倾向于使用Spring MVC、AngularJS等新兴框架,但Struts1的Validator框架依然有其不可替代的价值,特别是在遗留系统维护和优化方面。
1. Validator Framework:Validator Framework 是 Struts2 验证框架的核心组件,负责对用户输入的数据进行验证。Validator Framework 提供了一个通用的验证机制,可以对用户输入的数据进行验证。 2. Validators:...
Struts-JSP-Hibernate框架在Java Struts Framework上进行实践,还包括Struts Validator框架,Java Server Pages(JSP)和Hibernate以连接到SQL Oracle DMBS。 另外,通过创建银行Web应用程序和应用这些技术的Forum ...
3. **Validator Framework**:Struts框架内置了Validator组件,用于实现服务器端的数据验证。你可以通过在struts-config.xml中配置`<validator>`元素,引用自定义的验证规则文件(如validate.xml),并定义字段级别...
- **丰富的插件**:提供多种插件和扩展模块,如Tiles、Struts Validator等。 **4.1.3 Module带来的方便** - **模块化**:支持模块化的应用程序设计,使得大型项目更容易管理和扩展。 ##### 4.2 为什么反对Struts ...
9. **Validator Framework**: Struts 1.3.8 包含了验证框架,提供了表单验证的工具,可以在服务器端验证用户输入的数据,确保数据的准确性和安全性。 10. **Action Mapping**: 在 struts-config.xml 文件中,Action...
然而,需要注意的是,Struts 1.x已经不再维护,现代Web开发更多转向了Struts 2或者其他更现代的框架,如Spring MVC或Play Framework。尽管如此,对于理解MVC架构和Web应用程序的基础,Struts 1.x仍然是一个重要的...
9. **Spring集成**: 如果你正在使用Spring框架进行依赖注入,那么需要引入 `org.springframework.*` 相关的包,例如 `org.springframework.context.*` 和 `org.springframework.web.struts.*`。 10. **...
然而,需要注意的是,尽管Struts1.2在当时非常流行,但由于其存在一些安全漏洞和已不再维护,目前的Java Web开发更多转向了Struts2或者其他更现代的框架,如Spring MVC和Play Framework。对于新项目,建议使用更安全...
7. **Validator Framework**:提供表单验证功能,允许开发者定义XML规则文件,检查用户输入的有效性。 8. **Plug-in**:Struts1.3引入了插件机制,使得扩展框架变得更容易,可以添加新的功能或覆盖现有行为。 9. *...
同时,书中也会涵盖如何配置Struts,如编写struts-config.xml文件,以及如何创建自定义的Action、Validator和标签。此外,它还会讨论最佳实践,例如错误处理、性能优化和安全性问题。 在实际项目中,学习Struts不仅...
尽管现代Web开发倾向于使用更新的框架如Spring MVC或Play Framework,但理解Struts 1.2.9的工作原理对于深入学习Web开发历史和技术演进过程仍然具有重要意义。同时,掌握这些基础可以帮助开发者更好地理解和适应其他...
3. **DynaValidatorForm**:这是动态验证使用的表单类,继承自`org.apache.struts.validator.DynaValidatorForm`。它可以动态地定义验证规则,无需为每个属性创建单独的getter和setter方法。 4. **ValidatorPlugIn*...
9. **Validator Framework**: 提供了验证用户输入的功能,可以定义验证规则,并在ActionForm中应用,确保数据的准确性和完整性。 10. **RequestProcessor**: 负责处理请求,执行预处理和后处理任务,如验证请求、...
Struts2 提供了多种输入校验的方式,例如使用 Validator Framework,或者使用 Annotation 来实现输入校验。例如: public class User { @RequiredStringValidator(type = ValidatorType.STRING, message = "用户名...
9. **Validator框架**:Struts 1.x 的Validator框架用于数据验证,可以定义一系列规则来检查ActionForm中的属性值,确保数据的正确性。 10. **生命周期管理**:Struts 1.x 使用Servlet容器管理Bean的生命周期,对于...
2. 基于Validator的验证:Struts2引入了更强大的Validator框架,它允许开发者通过XML配置文件定义验证规则,也可以使用注解方式直接在Action类的属性上声明验证规则。Validator框架支持多种验证类型,如非空检查、...
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, ...