`
yangfuchao418
  • 浏览: 168303 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于struts2验证文件的些写法和fieldexpression

阅读更多

本人很久前学struts2时遇到些问题,希望写出来对大家有所帮助。struts2的校验框架既支持服务器端也支持客服端的校验,但更多是用在服务器端(客服端支持太弱)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<!-- 验证的两种方式 -->
<!-- <validator type="requiredstring">
<param name="fieldName">username</param>
<message>用户名不能为空</message>
</validator>
<validator type="stringlength">
<param name="fieldName">username</param>
<param name="minLength">3</param>
<param name="maxLength">8</param>
<message>用户名必须在${minLength}和${maxLength}之间</message>
</validator>-->
<!-- fiel表示验证字段级别,和上面的可以同时存在 -->
<field name="username">
<field-validator type="requiredstring" short-circuit="true">
<param name="trim">true</param>
<message>用户名必须填</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">6</param>
<param name="maxLength">10</param>
<message>用户名必须在${minLength}和${maxLength}之间</message>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring">
<message>密码必填</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">6</param>
<param name="maxLength">10</param>
<message>密码必须在${minLength}和${maxLength}之间</message>
</field-validator>
</field>
<field name="re_password">
<field-validator type="requiredstring">
<message>重复密码必填</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">6</param>
<param name="maxLength">10</param>
<message>密码必须在${minLength}和${maxLength}之间</message>
</field-validator>
<field-validator type="fieldexpression">
<param name="expression">(re_password eq password)</param>
<message>两次密码不一致</message>
</field-validator>
</field>
<field name="age">
<field-validator type="required">
<message>年龄必填</message>
</field-validator>
<field-validator type="int">
<param name="min">1</param>
<param name="max">100</param>
<message>年龄必须在${min}和${max}之间</message>
</field-validator>
</field>
<field name="graduation">
<field-validator type="required">
<message>毕业时间必填</message>
</field-validator>
<field-validator type="date">
<param name="min">1987-01-01</param>
<param name="max">2007-01-01</param>
<message>生日必须在${min}和${max}之间</message>
</field-validator>
<field-validator type="fieldexpression">
<param name="expression">(graduation >birthday)</param>
<message>毕业时间不能大于出生时间</message>
</field-validator>
</field>
</validators>
1.我们在写校验文件时最好根据它定义的DTD文件和提供的源代码进行编码,可以找到default.xml文件。他里面列出了相应的校验方式和对应的类。在用fieldexpression这种类型来校验时表示验证的是个表达式语言,其实是OGNL语言。下面的 <param name="expression">(graduation >birthday)</param>就说明了此道理。expression也说明你用的是表达式校验。
2.有时我们虽然定义了验证文件,但是有些方法不想让它校验可以用@SkipValidation的注解方式跳过验证(不过此注解却对action里定义的验证跳不过)。
3.如果一个action定义了多个方法,校验文件用该:XXXAction-配置的action名字-validation.xml的方式。当时第一次比较晕,把第二节配成想要调用的方法,结果老是解析不了。

分享到:
评论

相关推荐

    struts2验证框架参数

    在Struts2中,验证规则通常定义在XML配置文件中,通常是与特定Action关联的`validation.xml`文件内。这些规则通过一系列预定义的验证器来实现,每个验证器都有其独特的功能和参数,下面将详细介绍其中几种常见的验证...

    Struts2验证框架的配置及validation.xml常用的验证规则

    在Struts2中,表单验证是一项重要的功能,它确保了用户输入的数据符合预期的格式和范围,从而提高了应用的安全性和用户体验。本文将详细介绍Struts2验证框架的配置方法以及validation.xml文件中常用的验证规则。 ##...

    深入浅出Struts2(附源码)

    作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,如数据类型转换、文件上传和下载、提高Struts 2应用的安全性、调试与性能分析、FreeMarker、Velocity、Ajax,等等。跟随作者一道深入Struts 2,聆听...

    struts2 校验框架

    Struts2框架提供了一套强大的校验机制,可以帮助开发者轻松实现客户端和服务端的数据验证。本文将通过一个具体的示例——`LoginAction-validation.xml`配置文件,来详细解析Struts2中的校验框架。 #### 二、Struts2...

    struts验证框架-validation的验证框架

    Struts验证框架,作为Struts框架的一个重要组成部分,主要用于对用户输入的数据进行合法性检查,确保数据符合预期的格式和约束条件。这一机制不仅提升了应用程序的健壮性,还增强了用户体验,避免了因非法数据导致的...

    struts2校验器类型详解

    在探讨Struts2校验器之前,我们首先需要了解这些校验器是如何被定义和集成到框架中的。如文中所述,Struts2的内建校验器主要位于`xwork-2.0.4.jar`压缩包中的`default.xml`文件里。这个文件定义了一系列常用的数据...

    struts笔记

    Struts2是Apache组织维护的一个开源项目,它是Struts1的升级版本,在Web应用开发领域具有很高的知名度和广泛的使用基础。Struts2是一个基于MVC模式的Java Web框架,它提供了丰富的功能来帮助开发者构建易于维护的...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    书中介绍了如何利用Struts 2 来解决Web 应用开发中的常见问题,同时还深入浅出地探讨了许多能帮助程序员编写Struts 2 应用程序的技巧,如管理页面导航活动、输入验证、国际化和本地化、对Ajax 的支持,等等。...

    Struts2学习文档

    以上内容详细介绍了Struts2框架的核心组成部分和技术细节,包括Action的实现方式、Result的配置方法、模型驱动的概念、异常处理机制、类型转换的实现、输入校验的流程、拦截器的设计与应用以及日志记录的配置。...

    struts2_2校验框架

    根据给定的信息,我们可以深入探讨Struts2中的验证...以上就是关于Struts2中的验证框架的一些基本知识点介绍。通过这些验证方式,开发者可以有效地确保用户输入的数据满足业务需求,从而提高Web应用的质量和稳定性。

    验证框架,框架,资源

    在Struts2框架中,提供了多种方式来进行数据验证,包括客户端验证和服务器端验证。服务器端验证是必须的,而客户端验证则可以提高用户体验,但不是必需的。本文主要介绍服务器端的数据验证机制。 #### 实现步骤 1....

    判断两次密码输入是否相同的校验器

    2. Struts 框架通过配置文件将请求转发至 `CheckAction` 类。 3. `CheckAction` 类调用验证规则文件 `CheckAction-validation.xml` 中的密码一致性验证逻辑。 4. 如果密码一致,则转向 `success.jsp` 页面;如果不...

    QILY.rar_maven mybatis

    2. `MethodExpression.java`:可能用于表示方法调用的表达式,通常在解析和执行动态SQL时会用到。 3. `Context.java`:上下文类,通常存储着配置信息,如数据库连接、MyBatis 的全局配置等。 4. `Expression.java`:...

    The JasperReports Ultimate Guide

    - **操作**:使用 `&lt;fieldExpression&gt;` 标签定义表达式。 ##### 5.2 参数 - **概念**:动态传递给报告的信息。 - **操作**:通过 `&lt;parameter&gt;` 标签定义参数。 - **内置报告参数**:JasperReports 提供了一些内置...

Global site tag (gtag.js) - Google Analytics