`
peonyzzdx
  • 浏览: 580867 次
  • 性别: 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官方例子7-表单验证 xml形式的验证,主要是在相应的action类旁,新建一个对应的xml文件,进行验证

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

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

    struts2校验器_xml格式

    使用struts2验证form表单信息_xml格式

    Struts2入门教程(全新完整版)

    2.基于XML配置形式的校验 53 九、文件上传下载(了解) 55 1. 上传实例 55 2.下载实例 57 十、类型转换 57 1.基于Action的直接属性转换 57 2.基于Action的间接属性vo转换 59 十一、注解配置 59 十二、总结 本教程对...

    struts2验证(xml)课件.ppt

    传智播客的 struts2验证(xml)课件.ppt 主要讲解 xml的相关配置,数据校验的知识,不错的参考资料。

    Struts2正则表达式校验总结

    Struts2正则表达式校验总结正则表达式验证如下,注意验证框架的XML文件中如下写

    struts2+spring整合登陆验证经典完整案例!

    1. 进入reg_login路径下,将mysql.sql脚本中的语句导入MySQL数据库。 2. 修改reg_login\WEB-INF路径下的applicationContext.xml文件,将其中的数据库密码修改为你的数据库密码。 3. 推荐使用Tomcat 5.5系列...

    struts2讲义_吴峻申

    3.1 使用web.xml配置Struts2实现Web项目Struts2应用 37 3.2 使用配置文件struts.xml实现页面导航定义 38 3.3 使用Action类控制导航业务数据 40 3.4 使用ActionSupport进行校验 42 第4章 另一Struts2核心技术:拦截器...

    struts2_validation

    Struts2提供了一些基于XWork Validation Framework的内建验证程序,它们大大简化了输入验证工作。 使用这些验证程序不需要编程,程序员只需要在一个XML文件里对验证程序应该如何工作做出声明就行了。需要声明的内容...

    struts2入门实例1

    1.Struts2_01_login 对应登录。。 login.jsp---------------------------------------html标签的登陆页面 login_struts2.jsp-------------------------------采用struts标签的登陆页面 login_struts_...

    struts2入门实例2 经典入门必备

    1.Struts2_01_login 对应登录。。 login.jsp---------------------------------------html标签的登陆页面 login_struts2.jsp-------------------------------采用struts标签的登陆页面 login_struts_...

    struts2入门实例4 经典入门必备

    1.Struts2_01_login 对应登录。。 login.jsp---------------------------------------html标签的登陆页面 login_struts2.jsp-------------------------------采用struts标签的登陆页面 login_struts_...

    struts2入门实例3 经典入门必备

    1.Struts2_01_login 对应登录。。 login.jsp---------------------------------------html标签的登陆页面 login_struts2.jsp-------------------------------采用struts标签的登陆页面 login_struts_...

    struts自我学习过程程序以及说明

    配置struts.xml即可 这是一个很好的验证形式,因为可以对密码,名字,年龄进行校验.当然,这只是演示的样子,还可以自己扩充. 当然后台会有一些信息输出 改进 AjaxValidationtwo.java AjaxValidationtwo.jsp ...

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

    2.2.3 struts 2核心配置文件struts.xml详解 57 2.3 struts 2应用开发实务 61 2.3.1 struts 2应用开发环境的搭建 62 2.3.2 struts 2应用基本开发步骤—搭建eportal应用 69 2.3.3 struts 2中集成fckeditor 80 ...

    struts2.1宝典

    struts2表单标签 1 1、struts资源文件中文解决方法 1 2、开发struts2流程 1 3、创建拦截器: 2 4.标签中引用资源文件内容 3 5.创建资源文件 3 6.Action中访问servlet API 3 7.Action访问资源文件 3 8.资源文件_...

    Spring面试题

    1.面向切面编程提供声明式事务管理 2.spring支持用户自定义的切面 面向切面编程(aop)是对面向对象编程(oop)的补充, 面向对象编程将程序分解成各个层次的对象,面向切面编程将程序运行过程分解成各个切面。 ...

    java命名规范 开发规范

    3. log、异常(声明式异常)的约定设计; 4. 链接、按钮、表单提交的统一方式;通用式Ajax调用与页面跳转统一模型; 5. 响应一个请求的分层结构约定,列举几个示例(常规调用、Ajax调用、WebService调用、提供...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

     国内知名的高端IT技术作家,已出版《Spring 2.0宝典》、《基于J2EE的Ajax宝典》、《轻量级J2EE企业应用实战》、《Struts 2权威指南》、《Ruby On Rails敏捷开发最佳实践》等著作。 目录: 第0章 学习Java...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    因此,在具体设计实现该博客网站时,主要考虑了主流博客网站的几个主要功能:(1)博客的注册、登录验证功能(2) 网络用户通过关键字搜索博文功能(3) 最热门博客页面推荐浏览(4) 文章详细内容及相关评论显示(5) 博客...

Global site tag (gtag.js) - Google Analytics