`
mgoann
  • 浏览: 256850 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Struts 2.0服务端基本验证

阅读更多

Struts 2.0服务端基本验证

简介

 

Struts 2的一个核心工程就是支持Validation(验证)。Struts 2支持包括正则表达式验证,数据类型支持的有conversiondatedoubleemailexpressionfieldexpressionintregexrequiredrequiredstringstringlengthurlvisitor

 

使用验证功能,需要在struts.xml中进行配置。同时Struts 2支持服务端和客户端验证。像Ajax验证。可以使用验证来达到检查空字段或是满足特殊要求的form表单的目的。很重要的一点是struts 2支持自定义验证。

 

实例

 

下面我将写一个实例形验证,验证要求:

Name:字符串长度最大不能超过50个字符。

Age:必须是1-120之间的整形。

Email:有效的email地址。

 

好了开始动手吧。

 

首先,写个action指向我们的创建新用户页面。

 

package validation.action;   

import com.opensymphony.xwork2.ActionSupport;   

public class CustomerNewAction extends ActionSupport {   

    public String execute(){   

        return SUCCESS;   

    }   

}   

  

 

 

 

下面是创建新用户的customer_new.jsp

 

<%@ taglib prefix="s" uri="/struts-tags" %>  

<html>  

<head>  

<s:head/>  

</head>  

<body>  

<s:form action="CustomerSaveAction">  

    <h2>Enter Customer Details</h2>  

    <s:textfield label="Name" name="name"></s:textfield>  

    <s:textfield label="Age" name="age"></s:textfield>  

    <s:textfield label="Email" name="email"></s:textfield>  

    <s:submit label="Save" name="Save"></s:submit>  

</s:form>  

</body>  

</html>  

  

 

 

 

页面效果如图

 

 

接下来是最重要的,在s:head标签中,这里是验证错误以后显示错误信息的样式。Form表单将数据提交到CustomerSaveAction中,此action将保存数据并重定向到customer_save_success.jsp用户创建成功页面。下面是action的代码:

 

 

package validation.action;   

import com.opensymphony.xwork2.ActionSupport;   

public class CustomerSaveAction extends ActionSupport {   

    private String name;   

    private int age;   

    private String email;   

    public String getName() {   
        return name;
    }   

    public void setName(String name) {  
        this.name = name;  
    }   

    public int getAge() {  
        return age; 
    }   

    public void setAge(int age) {   
        this.age = age;   
    }   

    public String getEmail() {  
        return email; 
    }   

    public void setEmail(String email) {  
        this.email = email;
    }   

    public String execute(){  
        return SUCCESS;  
    }   

}   

 Customer_save_success.jsp

 

 

 

 

<%@ taglib prefix="s" uri="/struts-tags" %>  

<html>
<head> </head>  
<body>
<h2>Customer information saved successfully</h2>
</body>
</html>  

  

 

 

现在的工作就是想CustomerSaveAction声明一个Validation。首先在CustomerSaveAction.java同一目录下创建一个CustomerSaveAction-validation.xml文件。

 

CustomerSaveAction-validation.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="name">  

        <field-validator type="requiredstring">  

            <message>You must enter a value for Name</message>  

        </field-validator>  

        <field-validator type="stringlength">  

            <param name="maxLength">50</param>  

            <message>  

                Name cannot contain more than 50 characters   

            </message>  

        </field-validator>  

    </field>  

    <field name="age">  

        <field-validator type="int">  

            <param name="min">1</param>  

            <param name="max">120</param>  

            <message>Age must between 1 and 120</message>  

        </field-validator>  

    </field>  

    <field name="email">  

        <field-validator type="email">  

            <message>Please enter a valid email address</message>  

        </field-validator>  

    </field>  

</validators>  

  

 

 

最后一个步骤就是在struts.xml中组装。

Struts.xml

<?xml version="1.0" encoding="UTF-8" ?>  

<!DOCTYPE struts PUBLIC   

    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"   

    "http://struts.apache.org/dtds/struts-2.0.dtd">    

<struts>  

    <package name="validation" extends="struts-default">  

        <action name="CustomerNewAction"  

            class="validation.action.CustomerNewAction">  

            <result>/validation/customer_new.jsp</result>  

        </action>  

        <action name="CustomerSaveAction"  

            class="validation.action.CustomerSaveAction">  

            <result name="input">/validation/customer_new.jsp</result>  

            <result>/validation/customer_save_success.jsp</result>  

        </action>  

    </package>  

</struts>  

  

 

 

部署好以后,访问http://localhost:8080/struts_validation/CustomerNewAction.action,填入23dsfsdf32sdfdf23,显示结果

 

  • 大小: 26.7 KB
  • 大小: 15.1 KB
分享到:
评论

相关推荐

    Struts2.0培训课件

    总的来说,"Struts2.0培训课件"将涵盖Struts2.0框架的基础知识,包括其架构、配置、核心组件、数据绑定、验证、视图展现和性能优化等方面。通过深入学习,开发者能够熟练掌握这一框架,从而更高效地构建Java Web应用...

    struts2.0基础入门

    Struts2.0是Java Web开发中的一款经典MVC框架,它极大地简化了Web应用程序的构建,提高了开发效率。本文将深入探讨Struts2的基础知识,包括核心概念、表单验证、国际化、拦截器、IOC模式、标签、表达式、Ajax、上传...

    struts2.0中文手册--CHM格式(写的非常好,强烈推荐)

    Struts2.0中文手册是一本详尽的指南,针对Java开发者,特别是那些在Web开发中使用Struts2框架的人员。Struts2是Apache软件基金会下的一个开源项目,它是一个用于构建MVC(Model-View-Controller)架构的Java Web应用...

    JAVA服务端和客户端功能实现 OAuth2.0

    在Java环境中,实现OAuth2.0涉及到服务端(Authorization Server)和客户端(Resource Owner)的角色,以及授权码流程(Authorization Code Grant)、密码凭证流程(Resource Owner Password Credentials Grant)等...

    机试框架.doc

    【标题】: "基于Struts2.0+Spring+Hibernate+Ajax实现商品管理系统的无刷新功能" 【描述】: 在这个机试框架中,重点在于使用流行的技术栈Struts2.0、Spring、Hibernate和Ajax来构建一个商品管理系统,目标是实现...

    JavaWeb-Hibernate-Struts2-Spring2

    - **Struts2.0中文教程.chm**:这个文件很可能是关于Struts2框架的详细指南,包括其架构、配置、拦截器和Action的使用等内容。 - **Spring2.0中文教程.chm**:这个教程应该讲解了Spring2的核心特性,如IoC、AOP,...

    Struts.2 web 开发

    - **数据输入与验证**:Struts 2提供了强大的数据输入和验证机制,包括自动表单填充、数据校验等功能,能够有效提高应用的安全性和用户体验。 - **数据转换**:框架内置的数据转换功能可以帮助开发者在不同数据类型...

    java的SSH框架

    **Struts 2.0** 是Struts 1.x的一个重大升级版本,它采用了更为灵活的设计,支持多种插件,并且具有更好的性能和易用性。 - **第一个struts2工程**: 创建一个基本的Struts 2项目。 - **Struts2运行机制**: 描述...

    要广告分类系统 v2.0_yad20.rar

    开发者可能使用Java类、对象、接口和异常处理等核心概念来编写服务端代码。Java的多线程能力使得系统能够同时处理多个用户请求,提高性能。此外,Spring框架或Struts框架可能被用于增强Java应用的结构和功能。 4. *...

    javaEE学习笔记

    - 客户端和服务端通信流程。 - 使用 NIO 进行高效网络编程。 #### 3. JDBC 学习笔记 - **JDBC 综述** - JDBC (Java Database Connectivity) 的作用。 - JDBC 的工作原理。 - JDBC 驱动类型及其特点。 - **...

    java_学习资料

    - **概念理解**:在探讨Struts框架之前,先了解MVC(Model-View-Controller)架构模式的基本原理。这是一种广泛应用于软件工程的设计模式,尤其是用于Web应用程序的开发。它将应用程序分为三个核心组件: - Model...

    cas-client-core-3_asleepb5x_CAS_源码.zip

    4. **协议支持**:CAS支持多种协议,如CAS 1.0、2.0、3.0、CAS v2 Proxy以及SAML 1.1。这些协议定义了客户端和服务端之间的通信方式。 5. **集成**:CAS客户端可以轻松地与各种Web框架集成,如Spring Security、...

    java私塾全部笔记

    - Struts框架的基本概念及其架构。 - **配置Struts** - 如何配置struts-config.xml文件。 - **ActionForm** - ActionForm类的作用及其使用方法。 - **ActionServlet** - ActionServlet的工作原理及其配置。 ###...

    liferayPortal

    - Struts & Tiles:一种用于构建Web应用程序的框架。 - Tapestry:一种Java Web应用程序框架。 - Velocity:一种模板引擎。 - iCalendar & Microformat:一种日历数据交换格式。 - JSR-168:一个定义Portlet容器API...

    J2EE软件工程师全部培训课程总结

    - **Struts的 validator 验证框架**:用于客户端和服务端的验证。 #### JSF (JavaServer Faces) - **JSF介绍**:一种基于组件的MVC框架。 - **JSF页面导航**:用于控制页面间的跳转。 - **JSF简单工作流程及简单...

    基于Java网站即时通讯系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频).zip

    本项目中可能使用了Spring Boot、Spring MVC或Struts2等框架,用于构建服务层和控制器,以及Hibernate或MyBatis作为ORM工具,处理数据库操作。 2. **即时通讯协议**:即时通讯系统通常基于XMPP(Extensible ...

    jbuilder下开发ejb

    - **优势**:使用 DTO 可以减少网络传输的数据量,提高系统性能,并且可以隔离服务端与客户端的具体实现。 ##### 3. Struts Client 支持 - **定义**:Struts 是一个基于 Model-View-Controller (MVC) 设计模式的 ...

    外文翻译---JSP技术与主流JAVA+EE开源框架(SSH)技术简介

    页面通过标签和存在于服务端的脚本段存在资源逻辑。JSP页面实现了逻辑与网页设计及展示的分离,支持基于组件的可重用设计,使得Web应用程序的开发快速且简单。 当Web服务器面对访问JSP页面的请求时,首先执行相应的...

    webservice教程

    Spring提供了方便的注解和配置方式来创建和暴露服务,而WebWork(现在是Struts的一部分)允许开发者将Action类直接转换为Web Service。 总的来说,Web Service是分布式计算的关键技术,通过标准化的接口和协议,...

    JavaWeb

    在Java领域,JavaWeb是用于构建动态网站、企业级应用和服务端应用程序的重要技术栈。它涵盖了多种技术和工具,包括Servlet、JSP(JavaServer Pages)、JSTL(JavaServer Pages Standard Tag Library)、EL...

Global site tag (gtag.js) - Google Analytics