struts2校验框架

structs校验框架


  • Struts2提供了功能强大的输入校验机制,通过Struts2内建的输入校验器,在应用程序中无需书写任何代码,即可完成大部分的校验功能,并可以同时完成客户端和服务器端的校验。

  • 如果应用的输入校验规则特别,Struts2也允许通过重写validate方法来完成自定义校验,另外Struts2的开放性还允许开发者提供自定义的校验器
  • Struts2中可以通过重写validate方法来完成输入校验。如果我们重写了validate方法,则该方法会应用于此Action中的所有提供服务的业务方法。

Struts2的输入校验流程如下:

1.配置WEB-INF文件:

   
        struts2
        
            org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
        
    
    
        struts2
        /*
    

2.编写一个Action类,该Action类接收页面提交过来的参数(LoginValidateAction)

package com.action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginValidateAction extends ActionSupport{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	// Action类公用私有变量,用来做页面导航标志
	private static String FORWARD = null;
	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 void validate() {
	
	}

	public String execute(){
		try {
			// 判断输入值是否是空对象或没有输入
			if (username.equals("admin")&& password.equals("1234")) {
			// 根据标志内容导航到操作成功页面
				FORWARD = "success";
			} else {
			// 根据标志内容导航到操作失败页面
				FORWARD = "input";
			}
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		return FORWARD;
	}
}

3.在该Action相同的目录下建一个xml文件,该文件的命名为ActionName-validation.xml,其中 ActionName为该Action的类名,例如LoginValidateAction-validation.xml。然后在xml配置文件中配置需要验证的字段。




    
        
            
        
    
    
        
            
        
        
	        6
	        16
	        密码长度应在6~16个字符之间
        
    

4.配置struts.xml文件





	
	
		
		
			/login.jsp
			/success.jsp
		
		  
            /loginvalidate.jsp
            /index.jsp 
	

5.添加一个jsp页面 loginvalidate.jsp,放入一个struts标签

<%@ page language="java" pageEncoding="utf-8"%>


<%@taglib prefix="s" uri="/struts-tags"%>


	登录页面


	
	
		
				
								
		

下面是struts2输入校验的规则:

 

 1.对必填校验


        
            必填内容
        

 2.必填字符串校验

   
        
            true
            字符串必填校验
        
    

3.对int类型的校验


          
        1
        10
        
    

4.对日期的校验


		
		01/01/1990
		01/01/2000
		
		
	

5.对email的校验


        
        
        
    

6.对URL的校验

    
        
        
        
    

7.对字符串长度的校验

   
        
            4
            2
            true
    
        
    

8.对正则表达式的校验

 
        
        .*\.txt
        
        
    

最后提一句:

Struts2中应用客户端输入校验

这里要用Struts2的标签,form的validate属性要设置为true,并且不要将theme属性指定为simple。

(simple表示Struts2将把这个解析成普通的HTML标签)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(struts2校验框架)