Struts2中使用Validation数据验证
来源:互联网 发布:上市公司捐赠数据 编辑:程序博客网 时间:2024/05/21 11:34
1、新建一个【ActionName】-validation.xml的文件
注意:①文件的名字:ActionName对应你需要进行数据验证的Action类的名字,例如我需要对LoginAction类进行登录的非空验证,此文件为LoginAction-validation.xml)以下我以LoginAction.java为例进行讲解
②此文件的位置:与LoginAction.java在同一目录。就是编译后LoginAction-validation.xml要和LoginAction.class在同一包内
LoginAction-validation.xml内容如下
<?xml version="1.0" encoding="GBK"?>
<!-- 指定校验规则文件的DTD信息 -->
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.2//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd"><!--此处引入这个,有些使用OpenSymphony下的,此已经不能用了-->
<!-- 校验规则定义文件的根元素 -->
<validators>
<!-- 校验第一个表单域:username -->
<field name="username">
<!-- 该表单域必须填写 -->
<field-validator type="requiredstring">
<!-- 如果校验失败,显示user.required对应的信息 -->
<message>用户名不能为空</message>
</field-validator>
</field>
<!-- 校验第二个表单域 -->
<field name="password">
<field-validator type="requiredstring">
<!-- 如果校验失败,显示pass.required对应的信息 -->
<!-- <message key="pass.required"/> -->
<message>密码不能为空</message>
</field-validator>
</field>
</validators>
此文件的field中name属性要对应页面文本框的name属性
2、login.jsp页面内容如下
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>登陆页面</title>
</head>
<body>
<!-- 提交请求参数的表单 -->
<s:form action="Login.action">
<s:textfield name="username" label="用户名"/>
<s:password name="password" label="密 码"/>
<s:submit value="登陆"/>
</s:form>
</body>
</html>
3、Login.java类内容
package lee;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
//注意:此处一定要继承ActionSupport类,如果不继承验证输出信息只会输出在控制台,不跳转验证有误的页面
public class LoginAction extends ActionSupport{
//下面是Action内用于封装用户请求参数的两个属性
private String username;
private String password;
//username属性对应的getter方法
public String getUsername(){
return username;
}
//username属性对应的setter方法
public void setUsername(String username){
this.username=username;
}
//password属性对应的getter方法
public String getPassword(){
return password;
}
//password属性对应的setter方法
public void setPassword(String password){
this.password=password;
}
//处理用户请求的execute方法
public String execute() throws Exception{
//当用户请求参数的username等于scott,密码请求参数为tiger时,返回success字符串
//否则返回error字符串
if(getUsername().equals("sun") && getPassword().equals("123")){
ActionContext.getContext().getSession().put("user",getUsername());
return "success";
}else{
return "error";
}
}
}
4、struts.xml文件要在loginAction跳转那加一个input跳转,验证不通过就会再度跳转到登录页面,并提示相关的提示信息
<action name="Login" class="lee.LoginAction">
<!--定义处理结果和资源之间映射关系。-->
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
<result name="input">/login.jsp</result>
</action>
到这里就算是实现了一个登录用户名、密码非空的验证,我加红的字体都是着重要注意的地方
- Struts2中使用Validation数据验证
- Struts2中数据验证的使用-----validation文件命名
- Struts2:使用Validation框架验证数据
- struts2 使用Validation框架验证数据
- Struts2 使用Validation框架验证数据
- struts2中使用xml进行validation验证
- Struts2教程5:使用Validation框架验证数据
- Struts2教程5:使用Validation框架验证数据
- Struts2教程5:使用Validation框架验证数据
- Struts2教程5:使用Validation框架验证数据
- Struts2教程5:使用Validation框架验证数据
- Struts2学习篇(五) 使用Validation框架验证数据
- Struts2教程5:使用Validation框架验证数据
- Struts2教程5:使用Validation框架验证数据
- Struts2教程5:使用Validation框架验证数据
- Struts2教程5:使用Validation框架验证数据
- Struts2教程5:使用Validation框架验证数据
- Struts2教程5:使用Validation框架验证数据
- 基于rs485的modbus 协议
- android Settings 解析
- 基础总结:BroadcastReceiver广播应用详解
- C#工厂模式(反射,接口,抽象类)
- iOS开发UI篇—CAlayer(自定义layer)
- Struts2中使用Validation数据验证
- UITableView删除多行
- iOS开发干货周报第一期
- springmvc put请求无法解析请求体参数解决办法
- git origin和master分析
- 在fragment中调用getSupportActionBar (com.android.support:appcompat-v7)
- UITableView代理方法不执行的原因
- java集合的概述
- 把redis加载到window服务里