`
qilixiang012
  • 浏览: 203179 次
文章分类
社区版块
存档分类
最新评论

struts2 验证框架使用步骤

 
阅读更多

下面将给出一个例子来演示如何使用Struts2的validation框架来进行服务端验证。我们可以按着如下四步来编写这个程序:

【第1步】建立Action类(NewValidateAction.java)

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

下面我们来验证msg和age属性。

【第2步】配置Action类,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="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文件在同一目录下,而且配置文件名要使用如下两个规则中的一个来命名:

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

<?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="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文件,代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<link rel="stylesheet" type="text/css" href="<s:url value="/styles/styles.css"/>">
<html>
   <head>
     <title>验证数据</title>
   </head>  
   <body>
     <s:form action="new_validate" namespace="/test" >
         <s:textfield name="msg" label="姓名"   />
         <s:textfield name="age" label="年龄"/>
         <s:submit/>
     </s:form>
   </body>  
</html>

大家要注意一下,如果在struts.xml的<package>标签中指定namespace属性,需要在<s:form>中也将namespace和action分开写,如上面代码所示。不能将其连在一起,Struts2需要分开的action和namespace。如下面的代码是错误的:

<s:form action="/test/new_validate" >
   ... ...
</s:form>
在上面的程序中还使用了一个styles.css来定制错误信息的风格。代码如下:

.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


分享到:
评论

相关推荐

    struts1.2验证框架示例

    struts1.2 验证框架示例 详细的写明了每一步骤

    Struts验证框架配置详解

    Struts验证框架配置详解,包括两个需要用到的jar包以及详细配置步骤和实例

    Struts1.2中的validation验证框架的实现步骤

    Struts1.2中的validation验证框架的实现步骤

    Struts2全解Struts2全解

    Struts2 软件下载 Struts2 比较重要的类 操作步骤及框架配置 struts运行机制 2、简单的struts2程序 3、struts2配置文件 4、cion主要内容 Namespace、自定义Action、路径问题、通配符、包含模块配置文件、默认...

    Struts2+Spring3+Hibernate3 用户管理系统实例源码

    本例主要是实现了struts2+spring3+hibernate3的 基本框架搭建的注册登录,以及用户增删改查,适于初学者学习。 包括:注册 登录功能 分页的实现 前端校验 验证码的实现 注册时有ajax 校验,登录时 后台从数据库...

    精讲Struts2

    精简全面讲解Struts 2.0Struts2产生背景 工作原理 实现步骤 标签 命名空间 转换器 国际化 输出 ...表单校验(jQuery.validate验证框架) 上传 下载 OGNL(ActionContext StackContext ValueStack区别)

    SSI框架搭建与登陆验证(增删改查)

    在上次初步学习搭建ssi框架(---&gt;简易struts2+spring+ibatis框架搭建与验证)的基础上加入了登陆验证,以及数据的增删改查,及学习心得!下载一分,评论一次就回来了。 没有上一篇的可以在我上传的文档里查看,接着...

    低清版 大型门户网站是这样炼成的.pdf

    2.5 struts 2的校验框架 90 2.5.1 在action中实现手动校验 90 2.5.2 调用校验框架进行自动校验 91 2.5.3 自定义国际化struts 2校验错误消息 92 2.5.4 struts 2的自带校验器 92 2.6 struts 2的拦截器 94 2.6.1 ...

    Java Web 整合开发和项目实践(SSH) 高清.part1

    第2篇为表现层框架Struts技术,介绍了Struts2的工作原理、核心文件、数据校验与国际化、标签库、拦截器等。第3篇为持久层框架Hibernate技术,介绍了Hibernate的工作原理、核心文件、核心接口及相关插件的使用方法。...

    java web技术开发大全(最全最新)

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》内容包括Web客户端技术、JSP/Servlet技术、Struts 2(*、类型转换、输入校验、上传和下载文件、Struts 2的各种标签、对 AJAX的支持等)、Spring...

    Java Web 整合开发和项目实践(SSH)

    第2篇为表现层框架Struts技术,介绍了Struts2的工作原理、核心文件、数据校验与国际化、标签库、拦截器等。第3篇为持久层框架Hibernate技术,介绍了Hibernate的工作原理、核心文件、核心接口及相关插件的使用方法。...

    Java Web 整合开发和项目实践(SSH).part3

    第2篇为表现层框架Struts技术,介绍了Struts2的工作原理、核心文件、数据校验与国际化、标签库、拦截器等。第3篇为持久层框架Hibernate技术,介绍了Hibernate的工作原理、核心文件、核心接口及相关插件的使用方法。...

    Java Web 整合开发和项目实践(SSH).part4

    第2篇为表现层框架Struts技术,介绍了Struts2的工作原理、核心文件、数据校验与国际化、标签库、拦截器等。第3篇为持久层框架Hibernate技术,介绍了Hibernate的工作原理、核心文件、核心接口及相关插件的使用方法。...

    java web开发技术大全

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》内容包括Web客户端技术、JSP/Servlet技术、Struts 2(*、类型转换、输入校验、上传和下载文件、Struts 2的各种标签、对 AJAX的支持等)、Spring...

    跟我学javaweb全套ppt

    除此之外,第11、第14章还提供了两个完整的实例来讲解Struts2开发新特性和开发SSH的详细步骤.通过对这两章的学习,读者可以对SSH开发模式有更透彻的理解和认识。《跟我学Java Web》光盘中提供了丰富的内容,包括全书...

    跟我学Java_Web源代码

    除此之外,第11、第14章还提供了两个完整的实例来讲解Struts2开发新特性和开发SSH的详细步骤.通过对这两章的学习,读者可以对SSH开发模式有更透彻的理解和认识。《跟我学Java Web》光盘中提供了丰富的内容,包括全书...

    ssh2留言板系统

    项目使用的是ssh2三大框架,应为之前有一个网友做的是ssh的,没有整合struts2,本项目详细讲解了如何通过spring整合struts2以及hibernate,附有全部jar包和详细搭建ssh2步骤的doc文档,实现了登录验证,增删改以及...

    Java Web应用详解.张丽(带详细书签).pdf

    系统框架篇则是以架构设计的高度,讲解搭建网站的三大框架Struts、Hibernate、Sprin9及标签库。项目实战篇详细阐述了通用论坛BBS、社交网站、DIY商品电子交易平台3个系统的开发细节,使读者真正掌握JavaWeb开发的...

    Spring面试题

    8. Struts的validate框架是如何验证的? 在struts配置文件中配置具体的错误提示,再在FormBean中的validate()方法具体调用。 9. 说下Struts的设计模式 MVC模式: web应用程序启动时就会加载并初始化ActionServler...

    Java毕业设计&课程设计-基于JavaWeb的网上药品销售管理系统(源码+数据库).zip

    2. 创建项目:使用JavaWeb开发框架(如Spring MVC、Struts2等)创建一个新的项目。 3. 数据库设计:设计数据库表结构,包括药品信息表、用户信息表、订单信息表、购物车表等。 4. 配置数据库连接:在项目中配置...

Global site tag (gtag.js) - Google Analytics