`
Java-feifeiok
  • 浏览: 23274 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
文章分类
社区版块
存档分类
最新评论

struts2输入校验总结

阅读更多
---------最近在学struts2,所以做下了总结,希望大家多多指正存在的缺点!--------

输入校验:
第一种校验:重写父类的validate方法,但是这会校验所有的处理器,如果想校验某个处理方法的时候
            需提供一个validateXxx()方法,但之后还是会调用validate()进行校验,因此此时validate()没必要写了,
    或者让validate()进行公共字段的校验。

register.jsp

<s:form action="register" method="post">
<s:textfield name="username" label="username"></s:textfield>
<s:password name="password" label="password"></s:password>
<s:textfield name="age" label="age"></s:textfield>
<s:submit></s:submit>
</s:form>

RegisterAction.java

private String username;
private String password;
private int age;

....getter,setter方法省略

execute方法返回成功

public void validate() {
if(!"hello".equals(username)){
this.addFieldError("username", "username is not right!!!");
} else if(!"world".equals(password)){
this.addFieldError("password", "password wrong");
}
}

这里的input属性必须要配置
(*****)
注意:这里的某些值是可以自动校验的,程序外观不会报错,但是程序内部会报错。。。
(*****)

第二种校验:校验文件的校验方式:
required:必填校验器
requiredstring:必填字符串校验器
int:整数校验器
double:双精度浮点数校验器
date:日期校验器
expression:表达式校验器
fieldexpression:字段表达式校验器
email:电子邮件校验器
url:网址校验器
visitor:Visitor校验器
conversion:转换校验器
stringlength:字符串长度校验器
regex:正则表达式校验器

RegisterAction.java

private String username;
private String password;
private int age;

....getter,setter方法省略

execute方法返回成功

public void validate() {
if(!"hello".equals(username)){
this.addFieldError("username", "username is not right!!!");
} else if(!"world".equals(password)){
this.addFieldError("password", "password wrong");
}
}

register.jsp

<s:form action="register" method="post">
<s:textfield name="username" label="username"></s:textfield>
<s:password name="password" label="password"></s:password>
<s:textfield name="age" label="age"></s:textfield>
<s:submit></s:submit>
</s:form>

RegisterAction-validation.xml(需要和action放在同一个包下)

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

<field name="username">       //name属性必须指定,而且应该与action和jsp页面中的字段同名
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>username should not be empty !</message>
</field-validator>

<field-validator type="stringlength">
<param name="minLength">6</param>
<param name="maxLength">12</param>
<message>username should be between ${minLength} and
${maxLength}!</message>
</field-validator>
</field>

<field name="password">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>password should not be empty !</message>
</field-validator>

<field-validator type="stringlength">
<param name="minLength">6</param>
<param name="maxLength">12</param>
<message>password should be between ${minLength} and
${maxLength}!</message>
</field-validator>
</field>

</validators>

如果要验证一个方法可以用:RegisterAction-login-validation.xml  RegisterAction-validation.xml的效果就可以用来
校验公共字段。。。

2)客户端校验
将输入页面的表单元素改为使用struts2标签来生成表单,并且为该表单增加validate="true"属性即可。
分享到:
评论

相关推荐

    Struts2输入校验总结

    ### Struts2输入校验深度解析 #### 一、手动输入完成校验 在Struts2框架中,输入校验是确保数据完整性和安全性的重要环节。对于手动输入完成校验,Struts2提供了灵活的机制。 1. **普通处理方式**:在Action类中...

    struts2输入校验深入总结

    Struts2作为一款流行的...通过以上对Struts2输入校验的深入总结,我们可以看到Struts2为开发者提供了灵活多样的校验方式,能够满足不同场景下的需求。了解并熟练掌握这些校验机制,有助于提升应用程序的质量和安全性。

    struts2输入校验

    总结来说,Struts2的输入校验机制提供了灵活且强大的方式来保护应用程序免受非法输入的影响。无论是通过XML配置还是注解,都可以方便地定义和应用校验规则。同时,通过自定义校验器和分组校验,可以满足各种复杂的...

    Struts2 输入校验

    Struts2作为一款流行的Java Web框架,其在...总结,Struts2的输入校验机制是保证应用程序健壮性的关键组成部分。开发者可以根据项目的具体需求,灵活选择合适的方法来实施输入校验,以确保数据的准确性和系统的安全性。

    Struts2数据校验与国际化

    总结起来,Struts2的数据校验机制提供了多种方式确保数据质量,而其国际化功能则使得应用能够服务于全球用户。理解并熟练掌握这些机制,对于开发健壮、多语言的Web应用至关重要。在实际项目中,开发者可以根据需求...

    使用struts2进行输入校验

    总结来说,Struts2提供了灵活的输入校验机制,允许开发者通过Action的`validate()`方法或者XML配置文件来定义验证规则。无论选择哪种方式,都能有效地确保从客户端接收的数据符合预期,从而提高了应用的安全性和用户...

    [原]Struts2输入校验

    总结,Struts2的输入校验机制是其强大功能的一部分,通过合理的配置和编程,可以有效地保护应用免受无效或恶意输入的影响。熟练掌握Struts2的验证框架,可以提升Web应用的安全性和用户友好性。同时,理解并利用好...

    struts的输入校验

    一、Struts输入校验概述 输入校验在Web应用中扮演着数据过滤和保护的角色,它可以避免脏数据进入数据库,提高系统的稳定性和安全性。Struts框架提供了多种方式进行输入校验,包括ActionForm校验、Validator框架以及...

    Struts2的输入校验实例代码

    总结来说,Struts2的输入校验是通过结合客户端和服务器端的校验策略,提供了一套全面且灵活的数据验证机制。代码校验和配置校验都各有优势,可以根据项目的具体需求选择合适的方式。在实际开发中,通常会结合两者以...

    Struts2 用户输入校验教程

    总结起来,Struts2的用户输入验证涉及客户端和服务器端两个层面,通过编程或配置两种方式实现。为了确保系统的健壮性,通常需要结合两者,提供多层防线。在编写验证代码时,应注重错误信息的友好性和安全性,以提供...

    java,struts2,输入校验

    java,struts2的输入校验总结大全

    Struts2自定义校验框架

    Struts2提供了内置的验证框架,允许开发者自定义校验规则,以满足特定业务需求。下面将详细介绍Struts2自定义校验框架的相关知识点。 1. **Struts2验证框架概述** Struts2的验证框架主要负责处理用户提交的数据,...

    struts2的数据校验

    总结,Struts2的数据校验机制提供了强大的工具来确保用户输入的有效性,通过注解、XML配置或自定义校验器实现灵活的校验规则。通过正确处理校验错误并利用国际化功能,开发者可以创建出健壮且用户体验良好的Web应用...

    struts2的自定义校验器例子

    总结,这个“struts2的自定义校验器例子”展示了如何在Struts2中为特定需求创建自定义验证逻辑,确保服务器端数据的有效性和安全性。通过实现自定义校验器,开发者可以灵活地控制输入数据的验证规则,提高应用程序的...

    struts2笔记之校验表单信息

    **二、基于Annotation的输入校验** Struts2提供了许多注解,位于`com.opensymphony.xwork2.validator.annotations`包下,可以直接在Action类的setter方法上使用这些注解进行校验。例如,使用`@NotEmpty`、`@Email`...

    struts2校验框架

    其中,Struts2校验框架(Validation Framework)是该框架的核心特性之一,主要用于确保用户输入的数据符合预期的格式或范围,从而有效避免因数据不规范而引发的各种问题。 #### 二、Struts2校验框架的基本概念 在...

Global site tag (gtag.js) - Google Analytics