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", "密码为空");
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值