JavaEE----使用Struts2的输入校验之手动编码校验

Struts.xml

		<action name="login" class="com.cug.demo04.LoginAction">
			<result>/demo04/success.jsp</result>
			<result name="input">/demo04/login.jsp</result>
		</action>
		
		<action name="login1" class="com.cug.demo04.LoginAction" method="login">
			<result>/demo04/success.jsp</result>
			<result name="input">/demo04/login.jsp</result>
		</action>
login.jsp
  <body>
  <s:fielderror></s:fielderror>
  <form action="${pageContext.request.contextPath}/login" method="post">
  	用户名:<input type="text" name="username"><br/>
  	密码:<input type="password" name="password"><br/>
  	<input type="submit" value="登陆"/>
  </form>
  <hr/>
  <form action="${pageContext.request.contextPath}/login1" method="post">
  	用户名:<input type="text" name="username"><br/>
  	密码:<input type="password" name="password"><br/>
  	<input type="submit" value="登陆"/>
  </form>
  </body>

package com.cug.demo04;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport{
	private String username;
	private String password;
		
	public void setUsername(String username) {
		this.username = username;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	@Override
	public String execute() throws Exception {
		return SUCCESS;
	}

	@Override
	public void validate() {
		System.out.println("validate~");
		if(username==null || username.trim().isEmpty()){
			this.addFieldError("username", "用户名不能为空");
		}
		if(password==null || password.trim().isEmpty()){
			this.addFieldError("password", "密码不能为空");
		}else{
			if(password.length()<5 || password.length()>8){
				this.addFieldError("password", "密码的长度应该在5~8之间");
			}
		}
	}
	
	public String login(){
		return SUCCESS;
	}
	
	public void validateLogin(){
		System.out.println("validateLogin~");
	}
	
}

1、手动编码校验 
在Action类中 编写校验方法 
validate() 覆盖ActionSupport ------ 对Action 中所有执行方法 进行校验
* 通过<action> 配置 method属性,执行Action中特定的方法
validateXxx() Xxx就是指定方法名 -------- 对Action中指定方法 进行校验


校验方法执行过程
1)、 params 拦截器 设置请求参数
2)、 conversionError 拦截器 处理类型转换错误
3)、 validation 拦截进行参数有效性校验 
优先xml配置文件 、然后 validateXxx 具体方法校验 ,再然后 validate 所有方法执行校验 
4)、 workflow 拦截器 判断如果有错误信息 返回 input 如果没有错误信息 执行Action 对应业务处理方法 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值