- 浏览: 578237 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (206)
- Flask (1)
- JavaScript (3)
- Core Java (41)
- XML (1)
- Oracle (11)
- 软件安装及环境配置 (0)
- 其它 (9)
- 面试/笔试 (5)
- 项目 (0)
- JDBC (11)
- Servlet (4)
- MySql (4)
- JNDI (0)
- Hibernate (11)
- Java模式和构架设计 (0)
- Web设计 (22)
- JSP (8)
- Struts (13)
- Tomcat (2)
- Marven (2)
- SVN (2)
- Swing/AWT (1)
- jQuery (2)
- ExtJS (8)
- Python (22)
- Flex (1)
- Django (7)
- 算法 (5)
- English (1)
- Twisted (1)
- Linux (3)
- Rails (1)
- SVG (3)
- PostgreSQL (1)
Struts2验证框架验证用户注册
核心代码如下:
1.用户注册页面register.jsp
2.注册成功欢迎页面welcome.jsp
3.注册处理action RegisterAction
4. 用户Bean User.java
5.配置验证文件RegisterAction-validation.xml
6.struts2框架默认加载的配置文件struts.xml
7.web服务器启动时加载Struts 配置文件 web.xml
至此,完毕.不过需要注意:
1.配置验证xml文档的名字有讲究:格式为:Action名字(类)-validation.xml,与类在同一包中;
2.验证文档里的<field-validator type="">中的type类型要和VO中的User属性类型一致,否则会报类型转换错误
核心代码如下:
1.用户注册页面register.jsp
- <form action="register.action" method="post">
- <I><font face="楷体_GB2312" color="#FF0000"><s:fielderror />
- </font>
- </I>
- <!-- 读取显示提示信息 -->
- <table>
- <tr>
- <td>
- 用户名:
- </td>
- <td>
- <input type="text" name="user.userName">
- </td>
- </tr>
- <tr>
- <td>
- 密码:
- </td>
- <td>
- <input type="password" name="user.password">
- </td>
- </tr>
- <tr>
- <td>
- 确认密码:
- </td>
- <td>
- <input type="password" name="user.rePassword">
- </td>
- </tr>
- <tr>
- <td>
- 年龄:
- </td>
- <td>
- <input type="text" name="user.age">
- </td>
- </tr>
- <tr>
- <td>
- 生日:
- </td>
- <td>
- <input type="text" name="user.birthday">
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <s:submit value="注册"></s:submit>
- </td>
- </tr>
- </table>
- </form>
<form action="register.action" method="post"> <I><font face="楷体_GB2312" color="#FF0000"><s:fielderror /> </font> </I> <!-- 读取显示提示信息 --> <table> <tr> <td> 用户名: </td> <td> <input type="text" name="user.userName"> </td> </tr> <tr> <td> 密码: </td> <td> <input type="password" name="user.password"> </td> </tr> <tr> <td> 确认密码: </td> <td> <input type="password" name="user.rePassword"> </td> </tr> <tr> <td> 年龄: </td> <td> <input type="text" name="user.age"> </td> </tr> <tr> <td> 生日: </td> <td> <input type="text" name="user.birthday"> </td> </tr> <tr> <td colspan="2"> <s:submit value="注册"></s:submit> </td> </tr> </table> </form>
2.注册成功欢迎页面welcome.jsp
congratulations!${user.userName} <br>
3.注册处理action RegisterAction
- package org.kingtoon.action;
- import javax.servlet.http.HttpServletRequest;
- import org.apache.struts2.ServletActionContext;
- import org.kingtoon.bean.User;
- import com.opensymphony.xwork2.ActionSupport;
- public class RegisterAction extends ActionSupport {
- private User user;
- @Override
- public String execute() throws Exception {
- if(!(user.getPassword().equals(user.getRePassword()))){
- this.addFieldError("password", "请输入相同的密码");
- return "input";
- }
- else
- {
- HttpServletRequest request = ServletActionContext.getRequest ();
- request.setAttribute("user", user);
- return SUCCESS;
- }
- }
- public User getUser() {
- return user;
- }
- public void setUser(User user) {
- this.user = user;
- }
- }
package org.kingtoon.action; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; import org.kingtoon.bean.User; import com.opensymphony.xwork2.ActionSupport; public class RegisterAction extends ActionSupport { private User user; @Override public String execute() throws Exception { if(!(user.getPassword().equals(user.getRePassword()))){ this.addFieldError("password", "请输入相同的密码"); return "input"; } else { HttpServletRequest request = ServletActionContext.getRequest (); request.setAttribute("user", user); return SUCCESS; } } public User getUser() { return user; } public void setUser(User user) { this.user = user; } }
4. 用户Bean User.java
- package org.kingtoon.bean;
- import java.util.Date;
- public class User {
- private String userName;
- private String password;
- private String rePassword;
- private Integer age;
- private Date birthday;
- public Integer getAge() {
- return age;
- }
- public void setAge(Integer age) {
- this.age = age;
- }
- public Date getBirthday() {
- return birthday;
- }
- public void setBirthday(Date birthday) {
- this.birthday = birthday;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public String getRePassword() {
- return rePassword;
- }
- public void setRePassword(String rePassword) {
- this.rePassword = rePassword;
- }
- public String getUserName() {
- return userName;
- }
- public void setUserName(String userName) {
- this.userName = userName;
- }
- }
package org.kingtoon.bean; import java.util.Date; public class User { private String userName; private String password; private String rePassword; private Integer age; private Date birthday; public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getRePassword() { return rePassword; } public void setRePassword(String rePassword) { this.rePassword = rePassword; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } }
5.配置验证文件RegisterAction-validation.xml
- <validators>
- <field name="user.userName">
- <!-- 验证字符串不能为空 -->
- <field-validator type="requiredstring">
- <!-- 去空格 -->
- <param name="trim">true</param>
- <!-- 错误提示信息 -->
- <message>用户名不能为空</message>
- </field-validator>
- <!-- 验证字符串长度 -->
- <field-validator type="stringlength">
- <param name="minLength">2</param>
- <param name="maxLength">20</param>
- <message>用户名长度应在2到18个字符间</message>
- </field-validator>
- </field>
- <field name="user.password">
- <field-validator type="requiredstring">
- <param name="trim">true</param>
- <message>密码不能为空</message>
- </field-validator>
- <field-validator type="stringlength">
- <param name="minLength">6</param>
- <param name="maxLength">18</param>
- <message>密码长度应在6到18个字符之间</message>
- </field-validator>
- </field>
- <field name="user.age">
- <field-validator type="int">
- <param name="min">1</param>
- <param name="max">150</param>
- <message>年龄应在1到150之间</message>
- </field-validator>
- </field>
- <!-- 验证字符串为日期类型 -->
- <field name="user.birthday">
- <field-validator type="date">
- <param name="min">1900-01-01</param>
- <param name="max">2008-10-16</param>
- <message>出生日期应在1900-01-01到2008-10-16</message>
- </field-validator>
- </field>
- </validators>
<validators> <field name="user.userName"> <!-- 验证字符串不能为空 --> <field-validator type="requiredstring"> <!-- 去空格 --> <param name="trim">true</param> <!-- 错误提示信息 --> <message>用户名不能为空</message> </field-validator> <!-- 验证字符串长度 --> <field-validator type="stringlength"> <param name="minLength">2</param> <param name="maxLength">20</param> <message>用户名长度应在2到18个字符间</message> </field-validator> </field> <field name="user.password"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>密码不能为空</message> </field-validator> <field-validator type="stringlength"> <param name="minLength">6</param> <param name="maxLength">18</param> <message>密码长度应在6到18个字符之间</message> </field-validator> </field> <field name="user.age"> <field-validator type="int"> <param name="min">1</param> <param name="max">150</param> <message>年龄应在1到150之间</message> </field-validator> </field> <!-- 验证字符串为日期类型 --> <field name="user.birthday"> <field-validator type="date"> <param name="min">1900-01-01</param> <param name="max">2008-10-16</param> <message>出生日期应在1900-01-01到2008-10-16</message> </field-validator> </field> </validators>
6.struts2框架默认加载的配置文件struts.xml
- <struts>
- <constant name="struts.custom.i18n.resources" value="messageResource"></constant>
- <package name="user" extends="struts-default">
- <action name="register" class="org.kingtoon.action.RegisterAction">
- <result name="success">/welcome.jsp</result>
- <result name="input">/register.jsp</result>
- </action>
- </package>
- </struts>
<struts> <constant name="struts.custom.i18n.resources" value="messageResource"></constant> <package name="user" extends="struts-default"> <action name="register" class="org.kingtoon.action.RegisterAction"> <result name="success">/welcome.jsp</result> <result name="input">/register.jsp</result> </action> </package> </struts>
7.web服务器启动时加载Struts 配置文件 web.xml
- <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
- http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
- <filter>
- <filter-name>struts-cleanup</filter-name>
- <filter-class>
- org.apache.struts2.dispatcher.ActionContextCleanUp
- </filter-class>
- </filter>
- <filter>
- <filter-name>struts2</filter-name>
- <filter-class>
- org.apache.struts2.dispatcher.FilterDispatcher
- </filter-class>
- </filter>
- <filter-mapping>
- <filter-name>struts-cleanup</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>struts2</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <welcome-file-list>
- <welcome-file>register.jsp</welcome-file>
- </welcome-file-list>
- </web-app>
1.配置验证xml文档的名字有讲究:格式为:Action名字(类)-validation.xml,与类在同一包中;
2.验证文档里的<field-validator type="">中的type类型要和VO中的User属性类型一致,否则会报类型转换错误
发表评论
-
struts2工作流程
2012-02-28 16:55 18542工作流程: 1.客户端提交一个HttpServlet ... -
OGNL
2011-03-05 19:23 1173OGNL (Object-Graph Navigation L ... -
Struts2配置全局结果集
2011-03-05 16:14 4323概念: 在项目中很多地方都返回到同一个视图,这样就有必要配置 ... -
result类型
2011-03-05 15:50 3880Struts2 result类型 1.dispatch ... -
默认action
2011-03-05 11:34 997概念: 当请求一个不存在的action时,struts2会报 ... -
Struts2中的模块包含
2011-03-05 11:32 1415Struts2中的模块包含 概念: struts2中的模块 ... -
访问Web元素
2011-03-05 11:21 1150访问Web元素可以有四种方法,下面依次列出 user_log ... -
struts2 / 接收用户输入参数的三种机制
2011-03-04 14:33 1278Struts2中给开发者提供了三种接收用户输入参数的机制,我们 ... -
DMI动态方法调用 和 通配符
2011-03-04 11:53 1386动态方法调用DMI http://localhost: ... -
命名空间namespace
2011-03-04 11:16 5338Struts的作用,简单说把用户的请求和返回的视图分离! ... -
struts下载地址
2010-12-19 10:45 887http://archive.apache.org/dist/ ... -
Eclipse中Struts2的配置
2010-12-06 11:25 83771.安装Tomcat,增加服务器运行环境 Window--& ...
相关推荐
这个"struts2框架验证.rar"文件显然包含了使用Struts2进行验证的相关资料,适合在MyEclipse开发环境中使用。下面我们将深入探讨Struts2框架的验证机制及其相关知识点。 首先,Struts2框架提供了强大的表单验证功能...
SSH4(struts2框架验证)02SSH4(struts2框架验证)02
SSH4(struts2框架验证)01SSH4(struts2框架验证)01SSH4(struts2框架验证)01
Struts2 验证框架详解 Struts2 验证框架是基于 Java 语言的 Web 应用程序框架,提供了一个强大的验证机制,以确保用户输入的数据满足业务逻辑的要求。在 Struts2 中,验证机制是通过 validator 来实现的,该机制...
在Struts2框架中,验证框架是其一个重要组成部分,用于确保输入数据的准确性和完整性,从而防止因无效数据导致的程序异常或错误。本实例将带你深入理解Struts2验证框架的使用,以及在实际操作中可能遇到的问题和解决...
5. **拦截器**:拦截器是Struts2的一大特色,它允许开发者在Action调用前后插入自定义逻辑,比如日志记录、权限验证、数据校验等。在day01的课程中,你可能会学习如何定义和使用拦截器,以及如何在配置文件中配置...
这个“struts2验证框架示例”提供了深入理解并实际操作Struts2验证功能的机会。 首先,让我们了解一下Struts2验证框架的基本概念。验证框架基于两个主要组件:Validation拦截器和Action类中的验证配置。Validation...
Struts2框架是Java Web开发中的一个流行框架,它基于MVC(Model-View-Controller)设计模式,为开发者提供了一种结构化和可扩展的方式来构建应用程序。此压缩包文件包含的是Struts2的源码,特别适合初学者研究和学习...
Struts2是一个强大的Java web开发框架,它基于MVC(Model-View-Controller)设计模式,为构建可维护性高、结构清晰的Web应用程序提供了一种解决方案。这个框架旨在简化开发过程,提高代码的可测试性和可重用性。下面...
在Struts2中,验证框架是处理用户输入验证的关键部分,它确保了从客户端接收到的数据的质量和准确性。本示例将深入探讨Struts2验证框架的基本用法,特别适合初学者理解和掌握。 ### 一、Struts2验证框架概述 ...
在那个时期,Struts2已经整合了WebWork框架的核心功能,引入了Action、Result和Interceptor等概念,提供了强大的表单验证和国际化支持。这个版本的Struts2引入了OGNL(Object-Graph Navigation Language)表达式语言...
Struts2是一个强大的MVC(Model-View-Controller)框架,它是Apache软件基金会下的一个开源项目,被广泛应用于Java EE应用程序开发中。Struts2框架是Struts1的升级版本,它结合了WebWork框架的优点,提供了更高效、...
**Hibernate+Struts2框架详解** 在Web应用开发中,Hibernate和Struts2是两个非常重要的框架,它们分别处理持久层和控制层的任务。Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者以面向对象的方式操作...
Struts2还有许多高级特性,如插件系统、国际化、数据验证、拦截器的自定义、以及与其他框架如Spring、Hibernate的集成。深入学习Struts2将有助于提升开发Web应用的效率和质量。对于初学者来说,了解和实践上述步骤是...
Struts2框架详解 Struts2是Java Web开发中的一款广泛应用的开源MVC框架,它构建在Apache Struts 1的基础上,提供了更为强大的功能和更好的灵活性。Struts2旨在简化Web应用开发,通过将表现层与业务逻辑层解耦,提高...
Struts2框架是一个基于Model-View-Controller(MVC)设计模式的开源Java Web应用程序框架。它简化了Java Servlet API的使用,提供了处理HTTP请求、转发控制和视图渲染的能力。在这个简单的用户登录实例中,我们主要...
5. **验证框架**:`struts2-validation-plugin.jar`包含Struts2的内置验证框架,可以方便地对用户输入进行验证,并在验证失败时提供反馈。 6. **Tiles框架集成**:虽然Struts1时代就有的Tiles框架在Struts2中仍然...
在深入探讨Struts2验证框架参数之前,我们首先简要回顾一下Struts2框架本身。Struts2是基于MVC(Model-View-Controller)设计模式的Java Web应用框架,它提供了一种灵活的方式来构建可扩展的企业级Web应用程序。...
### Struts2框架概述 #### 一、Struts2的历史背景与起源 Struts2作为一款备受关注的企业级Web开发框架,在Java Web开发领域占据着举足轻重的地位。尽管Struts2声称自身是一个全新的框架,但从其发展历程来看,这种...
本篇将详细介绍Struts2的极速表单验证框架,特别是其注解方式的使用。 ### 1. 表单验证的重要性 在Web应用程序中,验证用户输入的数据是必不可少的,因为不正确的数据可能导致业务逻辑错误,甚至安全漏洞。Struts2...