`
孤星119
  • 浏览: 122758 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Struts1.3 validation校验

 
阅读更多

1.web项目中添加Strust1.3

    步骤如  Eclipse 手动添加 struts1.3

2. 建立测试页面 logon.jsp  代码如下

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@page	language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%>

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<html>
<head>
<title>logon</title>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<meta name="GENERATOR"	content="Rational® Application Developer™ for WebSphere® Software">
</head>
<body>
	
	<html:errors/>
	<form action="logon.do" method="post">
		<table>
			<TR>
				<td>UserName</td>
				<td><input name="username" type="text" /></td>
			</TR>
			
			<TR>
				<td>PassWord</td>
				<td><input name="password" type="password" ></td>
			</TR>
			
			<TR>
				<td><input type="submit" value="LOGON" /></td>
			
				<td><input type="reset" value="RESET" /></td>
			</TR>
		
		</table>
	</form>
</body>
</html>

 

 

 

 

 

3.修改struts配置文件 struts-config.xml 如下

  

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
          "http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
        <form-beans>
                <form-bean name="logonForm" type="logon.LogonForm" />
        </form-beans>

        <action-mappings>
        		<!-- 注意action中的 input 如果没有这个, 则使用struts validator时会报错 -->
                <action path="/logon" input="/logon.jsp" type="logon.LogonAction"
                        name="logonForm" validate="true" scope="request"> 
                        <forward name="LogonSuccess" path="/logonSuccess.html" />
                        <forward name="LogonFailure" path="/logonFailure.html" />
                </action>
        </action-mappings>
        
        
        
     <!-- 指定资源文件 -->
	<message-resources parameter="resources.application" />	   
    
    
    <!-- validate 配置 -->    
	<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
		<set-property property="pathnames" 
		value="/org/apache/struts/validator/validator-rules.xml,/WEB-INF/validation.xml"/>
	</plug-in>


	
</struts-config>

 

 

4.在web-inf目录下 建立 validation.xml文件 内容如下  意思如注释

  

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd">

<form-validation>
	<formset>

		<!-- An example form -->
		
		<form name="logonForm">
		
			<field property="username" depends="required,maxlength,minlength">		<!-- depends 设置校验规则 若多个规则, 用逗号隔开  这里 required username必填-->
				<arg key="logonForm.username" />				<!-- 用于返回到页面上的校验结果, 如“**必填”  这里在application.properties中找想要显示的对应的文字 -->
				
				
				<arg key="${var:maxlength}"  name="maxlength" resource="false"	/>	<!-- 设置输入的最大长度 这里 maxlength 作为一个参数也传入到application.properties中了 -->
				<var>
					<var-name>maxlength</var-name>
					<var-value>10</var-value>
				</var>
				
				<arg key="${var:minlength}"  name="minlength" resource="false"	/>	<!-- 设置允许输入的最小长度 minlength -->
				<var>
					<var-name>minlength</var-name>
					<var-value>6</var-value>
				</var>
			</field>
			
			<field property="password" depends="required,mask">
				<arg key="logonForm.password" />
				<var>
					<var-name>mask</var-name>
					<var-value>^[0-9a-zA-Z]*$</var-value>
				</var>
			</field>
			
		</form>

	</formset>
</form-validation>

 

 

 

6.Form 和Action 分别如下

package logon;

import org.apache.struts.validator.ValidatorForm;

public class LogonForm extends ValidatorForm {
	
	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;
	}

}

 

 

LogonAction.java

 

 

package logon;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;


public class LogonAction extends DispatchAction {
	


	private static Logger log=Logger.getLogger(LogonAction.class);
	
	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		
		
		
		
		LogonForm logonform =(LogonForm)form;
		
		log.info(" 用户  "+logonform.getUsername()+"  准备登陆!");
		
		if(logonform.getUsername().trim().length()>0 && logonform.getPassword().trim().length()>0){
			log.info(" 用户  "+logonform.getUsername()+"  登陆成功!");
			return mapping.findForward("LogonSuccess");
			
		}
		
		return mapping.findForward("LogonFailure");
		
	}
	
}

 

 

 

Ps:应该就这么多了 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics