struts2用户验证的validate方法
来源:互联网 发布:java 循环查询数据库 编辑:程序博客网 时间:2024/05/17 09:13
问题?struts2用户验证的validate方法
变成人员有时候会遇到注册页面或者登录页面的信息验证。当然我们可以使用jquery框架或者js来做。这里讲的是struts2用户验证的validate方法。
原理:struts2环境及相关的包xwork2包
一、用户输入数据的验证
1、手工编程验证,针对该动作类中的所有的动作方法
步骤:
a、动作类继承ActionSupport
b、覆盖调用public void validate()方法
c、在validate方法中,编写不符合要求的代码判断,并调用父类的addFieldError(String fieldName,String errorMessage)
如果fieldError(存放错误信息的Map)有任何的元素,就是验证不通过,动作方法不会执行。
Struts2框架会返回到name=input的result
d、在name=input指定的页面上使用struts2的标签显示错误信息。<s:fielderror/>
二、案例
1.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><!-- constant表示常量设置,设置配置文件自动更新,开发中很重要 --><constant name="struts.action.extension" value="action,,do"></constant><constant name="struts.devMode" value="true"></constant><!-- 数据验证 validate --><package name="validate" namespace="/validate" extends="struts-default"><action name="user_*" class="com.itcast.web.addUser.AddUserAction" method="{1}"><result name="success">/uploadSuccess.jsp</result><result name="input">/{1}User.jsp</result></action></package></struts>
继承了ActionSupport的动作类AddUserAction
package com.itcast.web.addUser;import java.io.Serializable;import com.opensymphony.xwork2.ActionSupport;public class AddUserAction extends ActionSupport implements Serializable {private String username;//用户名不能为空,还要去掉首尾空格private String password;//3~6位的数字public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}//动作方法的实现addpublic String add(){System.out.println("执行了user的add方法");return SUCCESS;}public String update(){System.out.println("执行了user的update方法");return SUCCESS;}/* (non-Javadoc) * @see com.opensymphony.xwork2.ActionSupport#validate() * 这个ActionSupport覆盖的方法 */@Overridepublic void validate() {//数据验证方法,首先验证,*再确认走那些方法(手工验证所有的方法,必须走这个)if(username==null||"".equals(username.trim())){addFieldError("username", "用户名不能为空");}//正则表达式,jdk查patternif(password==null||!password.matches("\\d{3,6}")){addFieldError("password", "密码不能为空且必须是3~6位的数字");}}}
用户添加信息页面addUser.jsp(这里的add跟配置文件中的input是通过通配符走的add方法想对应的):
<%@ taglib uri="/struts-tags" prefix="s" %><!--导入s标签库--> <body> <!-- 验证信息数据回显 --> <s:fielderror fieldName="username"></s:fielderror> <s:fielderror fieldName="password"></s:fielderror> <form action="${pageContext.request.contextPath}/validate/user_add.action" method="post"> 用户名:<input type="text" name="username"/><br/> 密码:<input type="text" name="password"/><br/> <input type="submit" value="保存"/> </form> </body>用户修改信息页面updateUser.jsp
<%@ taglib uri="/struts-tags" prefix="s" %> <body> <!-- 修改信息数据回显 --> <s:fielderror fieldName="username"></s:fielderror> <s:fielderror fieldName="password"></s:fielderror> <form action="${pageContext.request.contextPath}/validate/user_update.action" method="post"> 用户名:<input type="text" name="username" value="sds"/><br/> 密码:<input type="text" name="password" value="sdff"/><br/> <input type="submit" value="保存"/> </form> </body>
验证:运行服务器,访问添加信息页面和修改信息页面,看看是否可以进行验证和数据回显。
0 0
- struts2用户验证的validate方法
- Struts2的validate验证
- struts2输入验证--validate()方法验证
- Struts2 validate验证指定方法的三种方式。
- 有关struts2的validate验证
- Struts2使用ActionSupport类中的validate方法验证用户登陆信息
- Struts2使用validate方法验证数据
- Struts2:使用validate方法验证数据
- struts2中的validate()方法验证
- struts2 使用validate()验证单个方法
- struts2验证框架——validate()方法
- struts2中的validate()方法验证
- 验证数据的方法validate
- struts2.3.20的action中的validate验证
- struts2的validate验证框架(1)
- struts2 validate验证
- struts2 validate验证
- struts2 validate验证
- https证书
- Android ListView从网络获取图片及文字显示
- Tomcat安装和配置
- 大学生贷款陷阱---靠谱鸟科普
- iOS开发中静态库和动态库区别
- struts2用户验证的validate方法
- 剑指offer 二维数组中的查找
- XBMC应用开发小结--(四)
- 架构之路一
- 另一种遍历Map的方式 Map.Entry 和 Map.entrySet()
- 简笔画~小乌龟
- LeetCode 114: Flatten Binary Tree to Linked List
- Android一点 sdk调用客户端授权
- AutoMapper——初见