`
chinrui
  • 浏览: 97674 次
  • 性别: 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", "密码为空");
	}
}

 

分享到:
评论

相关推荐

    struts2 校验框架

    1. **XML验证配置**:在传统的Struts2验证中,我们通常会在Action类对应的package配置文件中添加一个`&lt;validators&gt;`元素,里面包含一系列的`&lt;field&gt;`和`&lt;field-validator&gt;`标签,用于指定要验证的字段以及相应的验证...

    struts-2.2.3.1-lib.zip

    - `xwork-core.jar`:XWork框架,Struts 2的基础,提供了类型转换、数据校验等功能。 - `ognl.jar`:Object-Graph Navigation Language,用于表达式语言,处理Action与视图间的数据绑定。 - `freemarker.jar`:...

    struts2_OGNL Demo

    此外,OGNL还可以在Struts2的拦截器中使用,比如进行数据校验或者权限控制。在Action的返回值中,可以通过OGNL指定要转发到的JSP页面,如`&lt;result name="success"&gt;success.jsp&lt;/result&gt;`。 总的来说,`struts2_OGNL...

    struts2 validate 验证

    通常,它会包括一个Action类,里面包含验证方法,以及对应的配置文件条目。测试时,模拟用户输入,检查验证是否按预期工作,错误是否正确记录和显示。 通过深入理解和熟练运用Struts2的验证机制,你可以构建出更...

    struts2 表单验证 注册

    在XML文件中,每个字段都有一个`field`元素,里面包含`key`(错误消息的键)和`validators`(验证器)。 3. **错误消息**: 错误消息可以在资源文件(如`messages.properties`)中定义,这样可以方便地国际化和...

    Struts2Spring2Hibernate3.zip

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

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

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

    struts2 hibernate spring整合入门(附实例源码及jarbao--用户名字段的操作)

    然后,在Struts2的Action类中,定义处理用户输入的方法,如register()或login()。这些方法可以利用Spring的@Autowired注解注入SessionFactory,通过Session执行SQL操作,如插入、查询数据库。 在实际开发中,为了...

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

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

    简单的程序

    在Struts2中,这些数据可以从请求参数中获取,然后在Action类中进行校验。如果验证成功,Action可以将用户信息存储在session中,以便后续页面访问时识别用户身份。如果验证失败,Action则会返回一个错误消息到视图层...

    javaee国际化

    3. XML国际化:在使用验证器进行数据校验时,也可以对错误信息进行国际化处理。 一个简单的国际化使用案例可能如下: 首先,你需要创建符合命名规范的国际化资源文件,例如messageResource_zh_CN.properties,里面...

    Eclipse的XML编辑器

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

    房屋出租系统(ssh)

    "ZFPrj"可能是项目的源代码文件夹,里面包含了系统的具体实现,包括但不限于配置文件(如struts-config.xml、spring配置文件)、Java源码(Action、Service、DAO层)、HTML页面、JSP视图、以及可能的样式表(CSS)和...

    SSH+Dwr+Ajax框架实现的OA办公自动化系统

    它使用配置文件来定义请求的映射,同时提供了丰富的拦截器机制,可以进行数据校验、权限控制等操作。 3. **Hibernate框架**:Hibernate允许开发者使用Java对象来操作数据库,避免了SQL的直接编写,提高了开发效率。...

    最新Java面试宝典pdf版

    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面试宝典-经典

    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中...

Global site tag (gtag.js) - Google Analytics