`
peonyzzdx
  • 浏览: 589662 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

struts2校验(二):声明式验证(基于xml配置验证)(1)

    博客分类:
  • J2EE
 
阅读更多
声明式验证示例程序
下面将给出一个例子来演示如何使用Struts2的validation框架来进行服务端验证。我们可以按着如下四步来编写这个程序:
【第1步】建立Action类 (NewValidateAction.java)
Java代码

package action;  
import com.opensymphony.xwork2.ActionSupport;  
public class NewValidateAction extends ActionSupport  
{  
private String msg; //必须输入  
private int age; //在13和20之间  
public String getMsg()  
{  
    returnmsg;  
}  
public void setMsg(Stringmsg)  
{  
    this.msg=msg;  
}  
public int  getAge()  
{  
    return age;  
}  
public void setAge(intage)  
{  
    this.age=age;  
}  
}  

下面我们来验证msg和age属性。
【第2步】配置Action类,struts.xml的代码
如下:
Xml代码

<?xmlversion="1.0"encoding="UTF-8"?>  
<!DOCTYPEstrutsPUBLIC  
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"  
"http://struts.apache.org/dtds/struts-2.0.dtd">  
<struts>  
<package name="demo" extends="struts-default" namespace="/test">  
<action name="new_validate"class="action.NewValidateAction">  
<result name="input">/validate_form.jsp</result>  
<result name="success">/validate_form.jsp</result>  
</action>  
</package>  
</struts>
 
【第3步】编写验证规则配置文件
这是一个基于XML的配置文件,和struts1.x中的validator框架的验证规则配置文件类似。但一般放到和要验证的.class文件在同一目录下,而且配置文件名要使用如下两个规则中的一个来命名:
Xml代码

<ActionClassName>-validation.xml 
<ActionClassName>-<ActionAliasName>-validation.xml 

其中<ActionAliasName>就是struts.xml中<ation>的name属性值。在本例中我们使用第一种命名规则,所以文件名是NewValidateAction-validation.xml。文件的内容如下:
Xml代码

<?xmlversion="1.0"encoding="UTF-8"?>  
<!DOCTYPEvalidatorsPUBLIC"-//OpenSymphonyGroup//XWorkValidator1.0.2//EN"  
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">  
<validators>  
<field  name="msg">  
<field-validator type="requiredstring">  
<message>请输入信息</message>  
</field-validator>  
</field>  
<field  name="age">  
<field-validator type="int">  
<param name="min">13</param>  
<param name="max">20</param>  
<message>  
必须在13至20之间  
</message>  
</field-validator>  
</field>  
</validators> 

这个文件使用了两个规则:requiredstring(必须输入)和int(确定整型范围)。关于其他更详细的验证规则,请读者访问http://struts.apache.org/2.0.11.1/docs/validation.html来查看。
【第4步】编写数据录入JSP页
在Web根目录中建立一个validate_form.jsp文件,代码如下:
Jsp代码
 
<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>  
<%@taglibprefix="s"uri="/struts-tags"%>  
<linkrel="stylesheet"type="text/css"href="<s:urlvalue="/styles/styles.css"/>">  
<html>  
 <head>  
<title>验证数据</title>  
 </head>   
 <body>  
<s:formaction="new_validate"namespace="/test">  
<s:textfieldname="msg"label="姓名" />  
<s:textfieldname="age"label="年龄"/>  
<s:submit/>  
</s:form>  
 </body>   
</html>  

在上面的程序中还使用了一个styles.css来定制错误信息的风格。代码如下:
Xml代码

.label {font-style:italic; }  
.errorLabel {font-style:italic;color:red; }  
.errorMessage {font-weight:bold; color:red; }
 
需要在Web根目录中建立一个styles目录,并将styles.css
假设Web工程的上下文路径是validation,可以使用如下的URL来测试这个程序:
http://localhost:8080/validation/validate_form.jsp
显示结果如图1所示。


  • 大小: 52.7 KB
0
2
分享到:
评论
1 楼 jueyue 2013-05-25  
这个注解可以搞吗,感觉还不如放在前台

相关推荐

    struts2官方例子7-表单验证 xml形式的验证

    Struts2提供了两种主要的验证方式:基于注解的验证和基于XML的验证。本例子主要关注XML形式的验证。 XML验证的优点在于其灵活性和可读性。开发者可以在Action类旁创建一个与Action类同名的.xml文件,比如Action类名...

    Struts2 校验器

    Struts2的校验框架是基于Apache Commons Validator库的,它允许开发者定义一系列的验证规则来检查用户的输入。这些规则可以是简单的数据类型检查,如非空、长度限制,也可以是复杂的业务逻辑校验。校验过程通常分为...

    Struts2校验框架应用

    本文将深入探讨Struts2校验框架的应用,包括其核心概念、配置方式、以及如何在实际项目中实现数据验证。 **1. Struts2校验框架基础** Struts2的校验框架是基于Apache Commons Validator库的,它允许开发者定义校验...

    Struts2输入校验总结

    综上所述,Struts2的输入校验机制不仅支持基本的手动校验,还提供了高度可配置和扩展的验证框架,使得开发者能够根据应用的具体需求,灵活地实现各种校验逻辑,从而提升应用程序的质量和用户体验。

    struts2校验器_xml格式

    2. **配置Action类**:在Struts2的配置文件(通常为`struts.xml`)中,需要指定Action类对应的验证XML文件,这样框架在处理表单提交时会自动应用这些验证规则。 ```xml 该字段是必填的。 ``` ...

    struts2输入校验

    Struts2提供了内置的验证框架,基于XML配置或者注解实现。这个框架允许开发者定义一组规则来检查用户提交的数据,这些规则可以在Action类中应用。 2. **XML输入校验**: - **创建校验文件**:首先,你需要创建一...

    struts2校验框架使用心得.txt

    #### 二、配置Struts2框架 为了使用Struts2框架,首先需要在项目的`web.xml`文件中配置过滤器。下面的示例展示了如何添加Struts2过滤器: ```xml <filter-name>struts2 <filter-class>org.apache.struts2....

    Struts2 part6:数据校验

    1. **配置验证规则**:Struts2提供了多种方式定义验证规则,如XML配置文件、注解或者自定义拦截器。XML配置文件中,可以在`struts.xml`或对应的action配置中定义`<validators>`标签来添加校验规则。注解方式更直观,...

    Struts2的输入校验

    Struts2提供了强大的验证框架,支持多种验证方式,包括基于注解的验证、XML配置的验证以及编程式验证。这些验证规则可以定义在Action类中,或者单独的验证配置文件里。 1. **基于注解的验证** 使用注解是Struts2中...

    struts2中的输入校验

    - **XML配置文件**:Struts2支持基于XML的校验配置文件,分为局部校验配置文件和全局校验配置文件。局部校验文件针对单个Action类,而全局校验文件适用于整个应用。配置文件内容包括字段校验(field validation)和...

    struts2校验器与校验框架精彩学习笔记

    它基于XML配置,通过在Action类中定义校验规则,可以方便地集成到Struts2的应用中。校验框架的工作流程大致分为以下几个步骤: 1. **配置校验规则**:在struts.xml或相应的Action配置文件中,定义校验规则。例如,...

    struts2 校验框架

    - Struts2的校验功能基于拦截器机制,`ValidationInterceptor`负责在Action执行前进行数据验证。如果验证失败,Action的执行会被中断,用户会收到错误信息。 8. **AJAX校验**: - Struts2可以与jQuery等...

    Struts 2权威指南:基于WebWork核心的MVC开发

    - **Struts 2**:基于WebWork核心开发而成,Struts 2在Struts 1的基础上进行了大量的改进,如更灵活的配置方式、丰富的标签库、强大的拦截器机制等,同时保留了WebWork的优点,如类型转换和校验功能等。 #### 5. ...

    struts2基于xml验证(最常用的三种类型String、Date、int验证).doc

    在探讨Struts2框架中的XML验证机制时,我们聚焦于三种最常见的数据类型验证:String、Date、int。这些验证在Web应用开发中至关重要,确保了数据的完整性和正确性,从而提高了应用程序的健壮性和用户体验。 ### 一、...

    struts2验证框架简单实例

    首先,Struts2的验证框架主要基于两个组件:`Validation`和`Validator`。`Validation`是Action类的注解,而`Validator`则处理验证逻辑。通过在Action类的字段上添加`@Validated`注解,可以启用字段级别的验证。此外...

    struts2输入校验深入总结

    Struts2集成了Apache Commons Validator,可以通过配置XML文件定义校验规则。在struts.xml文件中配置`<validators>`元素,然后在Action类中创建一个ValidatorForm对象,将表单字段映射到该对象的属性,即可应用预...

    Struts2自定义校验框架

    1. **Struts2验证框架概述** Struts2的验证框架主要负责处理用户提交的数据,进行验证,并在验证失败时显示错误消息。它支持两种验证方式:基于注解的验证(Annotation-based Validation)和基于XML的验证(XML-...

    struts2 简单数据校验

    - 配置Struts2的validation.xml文件,导入Hibernate Validator的约束声明。 4. **自定义校验逻辑**: - 当预定义的注解不能满足需求时,可以创建自定义校验器实现`ConstraintValidator`接口。 - 使用`@...

Global site tag (gtag.js) - Google Analytics