struts2 实现输入校验之validate方法
2014-09-14 21:14
573 查看
在Struts2中,有很多方式可以实现输入校验,有手工实现输入校验,基于验证框架的输入校验等方法。
这次我主要介绍通过重写validate方法校验。
关于struts2的环境搭建,我就不说了。
直接打开我们的Action类:
注意,这里面多了一个validate方法,其作用就是对视图页面中传过来的数据进行验证,验证的规则就是方法中的if条件,当某个数据不合规则时,通过addFieldError,将错误信息保存起来,而Struts2就会跳转到input视图(即struts.xml文件中配置了input类型的result)。视图页面就会将错误信息显示到视图页面中。
<pre name="code" class="html"><pre name="code" class="html"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta charset="utf-8">
<title>注册</title>
</head>
<body>
<div align="center">
<h1>注册</h1>
<s:fielderror></s:fielderror><!-- 显示错误信息 -->
<s:form action="Login" method="post" namespace="/action">
<s:textfield name="username" size="20" label="用户名" />
<s:password name="userpsd" size="20" label="密码" />
<s:submit value="登录" />
</s:form>
</div>
</body>
</html>
在上面视图页面中,我们可以通过<s:fielderror></s:fielderror>标记显示addFieldError方法封装的错误信息,当然,也可以不写。
最后,说下几个问题:
①使用validate()验证失败时(即数据不符合规则),Struts2会将请求转发到名为input的result所对应的视图页面。
②错误信息可以使用<s:fielderror></s:fielderror>标记来显示
这次我主要介绍通过重写validate方法校验。
关于struts2的环境搭建,我就不说了。
直接打开我们的Action类:
package com.struts.login.action; import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends ActionSupport { public String username; public String userpsd; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getUserpsd() { return userpsd; } public void setUserpsd(String userpsd) { this.userpsd = userpsd; } public String execute() throws Exception { System.out.println(username + " " + userpsd); if ("admin".equals(username) && "admin".equals(userpsd)) { System.out.println("1"); return SUCCESS; } else { addFieldError("username", "用户名或密码错误!"); System.out.println("2"); return LOGIN; } } public void validate() { if (null == username || "".equals(username)) { addFieldError("username", "用户名不能为空"); } else if (null == userpsd || "".equals(userpsd)) { addFieldError("userpsd", "密码不能为空"); } } }
注意,这里面多了一个validate方法,其作用就是对视图页面中传过来的数据进行验证,验证的规则就是方法中的if条件,当某个数据不合规则时,通过addFieldError,将错误信息保存起来,而Struts2就会跳转到input视图(即struts.xml文件中配置了input类型的result)。视图页面就会将错误信息显示到视图页面中。
<pre name="code" class="html"><pre name="code" class="html"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta charset="utf-8">
<title>注册</title>
</head>
<body>
<div align="center">
<h1>注册</h1>
<s:fielderror></s:fielderror><!-- 显示错误信息 -->
<s:form action="Login" method="post" namespace="/action">
<s:textfield name="username" size="20" label="用户名" />
<s:password name="userpsd" size="20" label="密码" />
<s:submit value="登录" />
</s:form>
</div>
</body>
</html>
在上面视图页面中,我们可以通过<s:fielderror></s:fielderror>标记显示addFieldError方法封装的错误信息,当然,也可以不写。
最后,说下几个问题:
①使用validate()验证失败时(即数据不符合规则),Struts2会将请求转发到名为input的result所对应的视图页面。
②错误信息可以使用<s:fielderror></s:fielderror>标记来显示
相关文章推荐
- struts2使用validate方法来实现对表单输入数据的校验操作
- Struts2输入校验以及错误信息处理(1)——用Action中定义的validate()方法进行校验
- struts2:数据校验,通过Action中的validate()方法实现校验,图解
- Struts2手工编写代码实现对Action中所有方法输入校验
- 转载 - Struts2基于XML配置方式实现对action的所有方法进行输入校验
- struts2-18基于XML配置方式实现对action的所有方法或指定方法进行输入校验
- struts2:数据校验,通过Action中的validate()方法实现校验(续:多业务方法时的不同验证处理)
- struts2:数据校验,通过Action中的validate()方法实现校验,图解
- Struts2_基于XML配置方式对指定action方法实现输入校验、基于XML校验的一些特点
- Struts2的输入校验(2):重写validate方法(方法二)
- struts2:数据校验,通过Action中的validate()方法实现校验,图解
- Struts2基于XML配置方式实现对action的所有方法进行输入校验
- struts2:数据校验,通过Action中的validate()方法实现校验,图解
- 5 Struts2输入校验(一)----validate方法-validateXxx方法
- Struts2-输入校验(重写validate方法)
- [转]一种通用的输入校验方法和气球泡提示的实现(键盘用户界面模块)
- 基于xml配置方式实现对action中指定方法进行输入校验
- java_struts2手工编写代码实现对Action中的输入数据校验
- 基于xml配置方式实现对action中指定方法进行输入校验
- struts2自定义方法的输入校验