`
chinrui
  • 浏览: 93917 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

struts里面的方法校验

阅读更多

struts里面的方法校验

一、全局方法检验

1、校验输入界面

<body>
	<s:property value="fieldErrors.usernameError[0]"/>
	<s:property value="fieldErrors.passwordError[0]" />
  <form action="validate_save">
  	姓名:<input type="text" name="username" value="" ><br/>
  	密码:<input type="password" name="password" value="" ><br/>
  	<input type="submit" value="提交">
  </form>
</body>

 2、struts.xml里面action配置

<struts>
	<package name="main" namespace="/" extends="struts-default">
		<action name="validate_*" class="com.edu.hpu.action.ValidateAction" method="{1}">
			<result>/WEB-INF/validate/validate_{1}.jsp</result>
			<result name="input">/WEB-INF/validate/validate_input.jsp</result>
		</action>
	</package>
</struts>

 3、ValidateAction(当输入不符合请求的时候,validate()方法会返回INPUT)

package com.edu.hpu.action;

import com.opensymphony.xwork2.ActionSupport;

public class ValidateAction extends ActionSupport {
	private String username;
	private String password;

	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;
	}
	
	public String save() {
		return SUCCESS;
	}
	
	public String input() {
		return INPUT;
	}

	/**
	 * 重写validate()方法,进行全局校验
	 */
	@Override
	public void validate() {
		if(username == null || username.trim().equals("")) {
			this.addFieldError("usernameError", "用户名为空");
		} else if(password == null || password.trim().equals("")) {
			this.addFieldError("passwordError", "密码为空");
		}
	}
}

 二、局部方法检验规则(注意命名规则)

/**
 * 局部方法校验:
 * 命名规则:
 * validateSave:validate(固定写法) + Save(要检验的方法名)
 */
public void validateSave() {
	if(username == null || username.trim().equals("")) {
		this.addFieldError("usernameError", "用户名为空");
	} else if(password == null || password.trim().equals("")) {
		this.addFieldError("passwordError", "密码为空");
	}
}

 

分享到:
评论

相关推荐

    struts示例

    是学习框架的时候,自己做的,虽然不是很复杂,但有成就感,里面用到了JSTL的应用,Commons-validate.jar校验功能的实现,感觉挺好的.

    struts2教程实例

    一个完整的struts2的实例,将一些常用的struts2技术整合在里面,包括类型转换,国际化,数据校验等

    Struts2Spring2Hibernate3.zip

    里面有struts2的国际化例子,还有struts2校验框架例子,还有freemarker结合struts2的例子,还有一个volicity和struts2对比的例子(引张荣华的一部分'作者言明要标注,所以特此写明')还有自己写的以部分!对了里面...

    Struts2+Spring3+Hibernate3 用户管理系统实例源码

    本例主要是实现了struts2+spring3+hibernate3的 基本框架搭建的注册登录,以及用户增删改查,适于初学者学习。 包括:注册 登录功能 分页的实现 前端校验 验证码的实现 注册时有ajax 校验,登录时 后台从数据库...

    struts2的基本知识

    struts2的基本入门,里面包含了struts2开发中常用的基本技术

    SSH2增删改查带分页上传图片(带预览),struts2

    struts2+spring2.5+hibernate3.2做的还有登陆DWR校验 导入项目后,会报错,导入jar包即可。 struts2+spring2.5+hibernate3.2+dwr+MySQL驱动包 把上述包导了就没错了。 打包有个user.txt为数据库导出的,你导入...

    Struts2+spring2+hibernate3.2 集成

    这是我自己做的练习,包括这三个框架集成,文件上传,下载,输入校验, 验证,里面还包括所需的全部jar包

    Eclipse的XML编辑器

    使用DTD或Schema校验XML。从XML生成DTD或Schema。与其它编辑器相比最大不同之处在 于,Rinzo能够与Java elements结合在一起。你可以打开一个类的定义,自动完成类名,从XML声明创建类。这将非常有用假如你要编辑web....

    ssh+oracle整合

    Struts2.1+spring2.5+hibernate3.2+oracle+ecside(table组件)+快逸报表+js校验,包太大,可以看压缩包里面的图片加上即可

    最新Java面试宝典pdf版

    70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的类,包,接口,请各举5个 49 72、java中有...

    Java面试笔试资料大全

    70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的类,包,接口,请各举5个 49 72、java中有...

    dangdang和smartstruts2.rar

    11、写js校验——myjs文件夹下。 12、写好action对应的JSP "/dangdang/user/login!form.do" /项目名/namespace/action的请求!action里的方法 相对路径的写法 &lt;%@taglib uri="/struts-tags" prefix="s"%&gt; ;...

    Java面试宝典2010版

    70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 71、说出一些常用的类,包,接口,请各举5个 72、java中有几种...

    JAVA面试宝典2010

    70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的类,包,接口,请各举5个 49 72、java中有...

    Java面试宝典-经典

    70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的类,包,接口,请各举5个 49 72、java中有...

    java面试题大全(2012版)

    70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的类,包,接口,请各举5个 49 72、java中有...

    Java面试宝典2012版

    70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的类,包,接口,请各举5个 49 72、java中...

    java面试宝典2012

    70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 52 71、说出一些常用的类,包,接口,请各举5个 54 72、java中有...

    Java面试宝典2012新版

    70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的类,包,接口,请各举5个 49 72、java中有...

Global site tag (gtag.js) - Google Analytics