struts2的验证和struts1的验证相对来说简单很多,注意的是在Action类的同一级目录下加一个
Action名-validation.xml文件就即可。下面是例题:
1.user.java
package com.lxitedu.validate;
public class User {
private String name;
private String password;
private int age;
private String email;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
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;
}
@Override
public String toString() {
return "User [age=" + age + ", email=" + email + ", name=" + name
+ ", password=" + password + ", sex=" + "]";
}
}
2.Action.java
package com.lxitedu.validate;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
public class Action extends ActionSupport implements ModelDriven<User> {
private static final long serialVersionUID = 1L;
private User user = new User();
@Override
public String execute() throws Exception {
return SUCCESS;
}
@Override
public User getModel() {
return user;
}
public String run() throws Exception {
return INPUT;
}
}
3.在与Action.java的同一级目录下定义一个Action-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="name">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>必须输入名字</message>
</field-validator>
<field-validator type="regex">
<param name="expression"><![CDATA[(\w{4,25})]]></param>
<message>您输入的用户名只能是字母和数组,且长度必须在4到25之间</message>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>必须输入密码</message>
</field-validator>
<field-validator type="regex">
<param name="expression"><![CDATA[(\w{4,25})]]></param>
<message>您输入的密码只能是字母和数组,且长度必须在4到25之间</message>
</field-validator>
</field>
<field name="age">
<field-validator type="int">
<param name="min">1</param>
<param name="max">150</param>
<message>年龄必须在1到150之间</message>
</field-validator>
</field>
<field name="email">
<field-validator type="email">
<message>输入正确的email地址</message>
</field-validator>
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>必须输入邮箱</message>
</field-validator>
</field>
</validators>
4.struts.xml
<action name="validate" class="com.lxitedu.validate.Action">
<result name="input">/validate.jsp</result>
<result name="success">/validate.jsp</result>
</action>
5.validate.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<s:form action="abc/validate.action" >
<s:textfield name="name" label="姓名" />
<s:textfield name="password" label="密码"/>
<s:textfield name="age" label="年龄"/>
<s:textfield name="email" label="邮箱"/>
<s:submit/>
</s:form>
</body>
</html>
OK.这就是struts2的一个最最简单的验证过程。。。
分享到:
- 2009-09-01 08:54
- 浏览 901
- 评论(4)
- 论坛回复 / 浏览 (4 / 2962)
- 查看更多
相关推荐
- **Action与ActionForm**:在WebWork中,Action类负责处理请求,而ActionForm类(在Struts2中已被Action取代)用于收集和验证表单数据。 - **XWork容器**:WebWork依赖于XWork容器来管理Action和拦截器,这个容器...
这个官方入门案例“struts2官方入门案列curd”着重于介绍如何使用Struts2实现CRUD(创建、读取、更新、删除)操作,这是任何Web应用中最基本的功能需求。下面我们将详细探讨Struts2框架以及如何通过它实现CRUD操作。...
4. **拦截器(Interceptor)**:拦截器是Struts2的一大特色,它们是预定义或自定义的逻辑块,可以在Action执行前后插入,处理如日志记录、权限验证等通用任务。 5. **值栈(Value Stack)**:Struts2使用值栈来存储...
一、Struts2入门 Struts2作为Apache软件基金会的一个项目,是Struts1的升级版,它提供了更灵活的控制流、强大的异常处理和插件架构。入门案例通常包括创建一个简单的“Hello, World!”应用,通过配置Struts2的核心...
struts 初步认识Struts2并部署验证 struts2 将要进行自定义类型转换的点数据从1个增加到3个 struts3 进行全局的类型转换 struts4 使用Struts2中内部类中的方法进行自定义类型转换,用到的类StrutsTypeConverter ...
3. **拦截器(Interceptors)**:拦截器是Struts2的一大特色,它们在Action调用前后执行,可以实现如日志记录、权限检查、数据验证等功能。 4. **结果类型(Result Types)**:结果类型定义了Action执行后的跳转...
6. **拦截器**: Struts2的拦截器是强大的组件,它们在Action执行前后运行,可以实现日志记录、权限验证、事务管理等功能。在这个入门级的例子中,你可能会遇到默认的拦截器链,如`params`预处理拦截器,用于从请求中...
3. **Interceptor(拦截器)**:拦截器是Struts2的核心,它们按照预定义的顺序在Action调用前后执行,实现如日志记录、权限验证等功能。 4. **Result**:Action执行后,根据配置返回的结果,可以是跳转页面、重定向...
本教程旨在帮助初学者快速入门Struts2,理解其核心概念和基本操作。 首先,我们要了解Struts2的基础。Struts2是Struts1的升级版,它吸收了WebWork框架的优点,提供了更灵活的控制流、更强大的拦截器机制和更丰富的...
这篇博客"Struts2 Validation入门"可能引导读者了解如何在Struts2中实现有效且直观的输入验证。 在Struts2框架中,验证分为两个主要阶段:客户端验证和服务器端验证。客户端验证通常通过JavaScript在用户的浏览器上...
根据给定文件的信息,我们可以提炼出以下关于“泰牛程序员 韩顺平 JavaEE全套 第15部分 Struts2基础入门”的相关知识点。 ### 一、JavaEE概述 Java Platform, Enterprise Edition(JavaEE)是由Oracle公司维护的一...
Struts2是一个基于MVC(Model-View-Controller)设计模式的Java web应用程序框架,它在Struts1的基础上进行了很多改进和增强,提供了..."Struts2入门V3.0.pdf"这份文档将详细地介绍这些内容,是初学者入门的良好教程。
十二、总结 本教程对struts2的基本知识进行了一些说明,关于struts2的更多详细内容应参看struts2的官方文档及提供的app实例。 下面对struts2的基本执行流程作一简要说明,此流程说明可以结合官方提供的struts2结构图...
- Struts2的拦截器是AOP(面向切面编程)的一种实现,可以在Action执行前后添加额外的功能,如日志记录、权限检查、数据验证等。在`struts.xml`中,你可以配置拦截器栈,定义Action执行的顺序。 6. **结果类型**:...
### Struts2 入门书籍知识点详述 #### 1. Struts2 框架简介 Struts2是一个开源的MVC(Model-View-Controller)架构的Web应用框架,它融合了WebWork框架的核心设计思想以及Struts1的一些优秀特性。Struts2旨在简化...
这个"struts2简单的登陆验证"项目是一个基础入门级别的教程,适合初学者学习理解Struts2的核心概念和工作原理。 在Struts2中,登陆验证是常见的功能,涉及到用户身份的确认和权限控制。下面我们将详细探讨Struts2...