WebWork依赖XWork的校验框架,在action执行之前,来启动对action的输入数据的校验规则的运用。
1,添加校验器,在/WEB-INF/class添加一个名为validators.xml,添加自定义校验器
xml 代码
- <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">
- <validators>
- <validator name="required" class="com.opensymphony.xwork.validator.validators.RequiredFieldValidator"/>
- <validator name="requiredstring" class="com.opensymphony.xwork.validator.validators.RequiredStringValidator"/>
- <validator name="int" class="com.opensymphony.xwork.validator.validators.IntRangeFieldValidator"/>
- <validator name="double" class="com.opensymphony.xwork.validator.validators.DoubleRangeFieldValidator" />
- <validator name="date" class="com.opensymphony.xwork.validator.validators.DateRangeFieldValidator"/>
- <validator name="expression" class="com.opensymphony.xwork.validator.validators.ExpressionValidator"/>
- <validator name="fieldexpression" class="com.opensymphony.xwork.validator.validators.FieldExpressionValidator"/>
- <validator name="email" class="com.opensymphony.xwork.validator.validators.EmailValidator"/>
- <validator name="url" class="com.opensymphony.xwork.validator.validators.URLValidator"/>
- <validator name="visitor" class="com.opensymphony.xwork.validator.validators.VisitorFieldValidator"/>
- <validator name="conversion" class="com.opensymphony.xwork.validator.validators.ConversionErrorFieldValidator"/>
- <validator name="stringlength" class="com.opensymphony.xwork.validator.validators.StringLengthFieldValidator"/>
- <!---->validators>
2,打开校验,在xwork定义interceptor,为需要开发校验的action开启拦截器,拦截器的校验范围
xml 代码
- <interceptors>
-
- <interceptor name="adminOnly" class="adminInterceptor"/>
- <interceptor-stack name="defaultStack">
- <interceptor-ref name="exception"/>
- <interceptor-ref name="alias"/>
- <interceptor-ref name="servlet-config"/>
- <interceptor-ref name="prepare"/>
- <interceptor-ref name="i18n"/>
- <interceptor-ref name="chain"/>
- <interceptor-ref name="model-driven"/>
- <interceptor-ref name="fileUpload"/>
- <interceptor-ref name="static-params"/>
- <interceptor-ref name="params"/>
- <interceptor-ref name="conversionError"/>
- <interceptor-ref name="validation">
- <param name="excludeMethods">cancel,execute,delete,edit,list,default<!---->param>
- <!---->interceptor-ref>
- <interceptor-ref name="workflow">
- <param name="excludeMethods">input,back,cancel<!---->param>
- <!---->interceptor-ref>
- <!---->interceptor-stack>
- <!----><interceptor-stack name="validationWorkflowStack">
- <interceptor-ref name="defaultStack"/>
- <interceptor-ref name="validation"/>
- <interceptor-ref name="workflow"/>
- <!---->interceptor-stack>-->
- <interceptor-stack name="fileUploadStack">
- <interceptor-ref name="fileUpload"/>
- <interceptor-ref name="defaultStack"/>
- <!---->interceptor-stack>
- <interceptor-stack name="adminCheck">
- <interceptor-ref name="defaultStack"/>
- <interceptor-ref name="adminOnly"/>
- <!---->interceptor-stack>
- <!----><!---->interceptors>
3,校验规则,每个action类,指定在ActionName-validation.xml文件中,
xml 代码
- <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
- <validators>
- <field name="customerCreditDetails.customer.id">
- <field-validator type="required">
- <message key="errors.required"/>
- <!----><!---->field-validator>
- <field-validator type="stringlength">
- <param name="minLength">1<!---->param>
- <param name="trim">true<!---->param>
- <message key="errors.required"/>
- <!----><!---->field-validator>
- <!---->field>
- <field name="customerCreditDetails.amount">
- <field-validator type="required">
- <message key="errors.required"/>
- <!----><!---->field-validator>
- <field-validator type="double">
- <param name="minInclusive">1.0<!---->param>
- <message key="errors.intLeast"/>
- <!----><!---->field-validator>
- <!----><!---->field>
- <field name="customerCreditDetails.operateTime">
- <field-validator type="required">
- <message key="errors.required"/>
- <!----><!---->field-validator>
- <field-validator type="date">
- <message key="errors.required"/>
- <!----><!---->field-validator>
- <!---->field>
- <field name="customerCreditDetails.currencyType">
- <field-validator type="required">
- <message key="errors.required"/>
- <!----><!---->field-validator>
- <field-validator type="int">
- <param name="min">1<!---->param>
- <message key="errors.required"/>
- <!----><!---->field-validator>
- <!---->field>
- <field name="customerCreditDetails.payType">
- <field-validator type="required">
- <message key="errors.required"/>
- <!---->field-validator>
- <field-validator type="int">
- <param name="min">1<!---->param>
- <message key="errors.required"/>
- <!----><!---->field-validator>
- <!----><!---->field>
- <!---->>
这是简单验证
分享到:
相关推荐
2. 数据验证(Validation):WebWork2提供了强大的数据验证机制,可以通过注解或XML配置文件定义验证规则,确保输入数据的有效性。 3. 国际化与本地化(i18n/L10n):WebWork2支持多语言环境,通过资源文件管理不同...
6. **表单验证(Form Validation)** Webwork2内置了强大的表单验证机制,允许开发者定义验证规则,并在Action接收到表单数据时自动执行验证。 7. **国际化(Internationalization)** Webwork2支持多语言环境,允许...
介绍ActionForm和Validation Framework,用于表单验证和数据绑定。 3. **视图与模板**:探讨JSP、FreeMarker或其他模板引擎在WebWork2中的使用,解释如何创建和管理视图组件,以及如何通过OGNL(Object-Graph ...
WebWork 是一个基于Java的MVC(模型-视图-控制器)框架,它为构建Web应用程序提供了强大的支持。这个名为 "gutou.rar_webwork" 的压缩包文件似乎包含了一个使用WebWork技术实现的简单登录系统的源代码。下面将详细...
在Action类中,使用`@Validation`注解来指定验证文件的位置,然后在需要验证的方法上使用`@Validator`注解来指定具体的验证规则。 5. **渲染错误信息**: 当验证失败时,WebWork会自动将错误信息添加到...
6. **表单验证(Form Validation)**: WebWork提供了强大的表单验证机制,可以通过注解或XML配置文件定义验证规则,确保输入数据的合法性。 7. **国际化(Internationalization, I18N)**: WebWork支持多语言环境,...
1. **灵活的Validation框架**:WebWork允许在XML文件中定义验证规则,这些规则在运行时通过Interceptor自动应用,使得Action类与验证逻辑分离。新版本还支持客户端验证,可以在用户提交数据前进行校验。 2. **Type ...
以上只是WebWork教程的部分内容,完整的学习笔记涵盖了更多高级主题,如Interceptor(拦截器)、Validation(验证)、I18N(国际化)、AOP支持以及与其他开源项目的集成,如G-Roller-WW和Spring等。通过深入学习和...
本篇将详细介绍WebWork中的核心概念——拦截器(Interceptor)以及验证(Validation)机制,并结合提供的帮助文档进行学习指导。 首先,我们来理解WebWork的拦截器机制。在WebWork中,拦截器是处理请求的关键组件,...
此外,WebWork支持JSR-303/JSR-349(Bean Validation)标准,可以直接利用注解在模型对象上定义验证规则。这样的设计使得业务逻辑和验证逻辑更加紧密,提高了代码的可读性和可维护性。 STRUTS和WebWork在验证上的...
- **灵活的Validation框架**:在XML文件中定义验证规则,通过Interceptor自动应用,完全解耦于Action类,新版支持客户端验证。 - **Type conversion**:在类间轻松转换对象,增强数据处理能力。 - **OGNL表达式语言*...
- **拦截器链**:自定义或使用默认拦截器,如Validation、I18n、Exception处理等。 4. **整合配置**: - **Spring与Hibernate整合**:Spring管理Hibernate的SessionFactory,提供Session工厂,实现数据访问层的...
例如,`params`拦截器用于处理请求参数,`validation`拦截器负责验证Action的属性值。 6. **结果类型(Result Type)**:结果类型定义了Action执行后如何处理结果,比如转发、重定向或渲染一个页面。常见的结果类型有...
Struts 2是一个高度灵活且强大的Java Web应用程序开发框架,它在原有的Struts 1框架的基础上结合了WebWork的核心机制,旨在提供更高效、更易用的MVC(Model-View-Controller)架构。这个"开发框架struts2.1.8.zip...
- **默认拦截器**:Struts2提供了一系列内置拦截器,如`params`、`validation`等,可以在`struts-default.xml`中查看。 - **自定义拦截器**:开发者可以根据需求创建自己的拦截器,并在`struts.xml`中进行配置,...
6. **ActionSupport与Validation**:Struts2提供ActionSupport基类,包含了一些内置方法,如国际化支持。此外,它还支持基于XML或注解的表单验证,增强用户体验。 通过上述内容,我们可以看到Struts2.0是一个强大且...
- **验证拦截器(Validation Interceptor)**:验证拦截器会在 Action 执行之前检查请求参数的有效性,如果发现不符合规则的参数,则会阻止 Action 的执行,并返回错误信息给客户端。 **客户端验证**: - **Ajax 验证...
Struts2是一个强大的MVC(Model-View-Controller)框架,由Apache软件基金会维护,它在WebWork2的基础上发展而来。Struts2的核心设计目标是提供一个更加灵活、高效的Java Web应用程序开发框架,以帮助开发者构建可...
XWork is an command-pattern framework that is used to power WebWork as well as other applications. XWork provides an Inversion of Control container, a powerful expression language, data type ...
WebWork2的API提供了诸如Type Conversion(类型转换)、Validation(验证)和Tiles(布局管理)等功能,这些在Struts2中得到了延续和增强。 6. **OGNL**: OGNL(Object-Graph Navigation Language)是Struts2中用于...