Struts2の入力チェックサム(符号化モードを使用して)

、Strutsの入力検証

1. register.jspを作成します。

<%ページ言語@ = "javaの" contentTypeの= "text / htmlの;のcharset = UTF-8" 
    pageEncodingは= "UTF-8" %> 
<%@接頭辞のtaglib = "S"のuri = "/ストラットタグ" %>     
<!DOCTYPE htmlののPUBLIC " - // W3C // DTD HTML 4.01移行// EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<HTML> 
<HEAD> 
<メタHTTP-当量= "Content-Typeの"コンテンツ= "text / htmlの;のcharset = UTF-8"> 
ここ<タイトル>を挿入タイトル</ TITLE> 
</ HEAD> 
<BODY> 
<フォームアクション=> "登録" 
    <H2>用户注册</ H2> 
    <S:たActionError /> 
	ユーザ名:の<input type = "text" NAME = "ユーザ名"サイズ=」20 "> <BR> 
	パスワード:<入力タイプ="パスワード」名前= "パスワード"サイズ= "20"> <BR> 
	repassword:の<input type = "パスワード"名前= "パスワード"サイズ= "20"> < BR> 
	年齢:の<input type = "text"の名= "年齢"サイズ= "20"> < BR>
	誕生日:の<input type = "text" NAME = "誕生日"サイズ= "20"> <BR>の
	卒業:の<input type = "text" NAME = "卒業"サイズ= "20"> <BR> 
	
	
	の<input type = "送信"名= "提出"サイズ= "20"> 
	
</ FORM> 
</ BODY> 
</ HTML>

  

2、struts.xml設定

<アクション名= "登録"クラス= "com.example.struts2.RegisterAction"> 
			<結果名= "成功"> / registerResult.jsp </結果> 
			<結果名= "入力"> / register.jsp </結果> 
</アクション>

  

3. registerResult.jspを作成します。

<%ページ言語@ = "javaの" contentTypeの= "text / htmlの;のcharset = UTF-8" 
    pageEncodingは= "UTF-8" %> 
<%@接頭辞のtaglib = "S"のuri = "/ストラットタグ" %>     
<!DOCTYPE htmlののPUBLIC " - // W3C // DTD HTML 4.01移行// EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<HTML> 
<HEAD> 
<メタHTTP-当量= "Content-Typeの"コンテンツ= "text / htmlの;のcharset = UTF-8"> 
ここ<タイトル>を挿入タイトル</ TITLE> 
</ HEAD> 
<BODY> 

ユーザ名:<S:プロパティの値= "ユーザ名" / > <BR> 
パスワード:<S:プロパティの値= "パスワード" /> <BR> 
年齢:<S:プロパティの値= "年齢" /> <BR>
brithday:<S:プロパティの値= "brithday" /> <BR> 
卒業:<S:プロパティの値= "卒業" /> <BR> 
</ BODY> 
</ HTML>

  

4、RegisterAction.javaを作成

パブリッククラスのRegisterActionは{ActionSupportを拡張
	
	
	 プライベート文字列のユーザ名。
	 プライベート文字列のパスワード。
	 プライベート文字列repassword。
	 プライベートint型の年齢; 
	 プライベート日の誕生日。
	 プライベート日の卒業。
	パブリック文字列getUsername(){ 
		戻りユーザ名; 
	} 
	公共ボイドsetUsername(文字列名){ 
		this.username =ユーザ名; 
	} 
	パブリック文字列getPasswordに(){ 
		戻りパスワード。
	} 
	公共ボイドするsetPassword(文字列のパスワード){ 
		this.password =パスワード。
	} 
	パブリック文字列getRepassword(){ 
		戻りrepassword。
	}
	公共ボイドsetRepassword(文字列のrepassword){
		this.repassword = repassword。
	} 
	公共INT getAge(){ 
		戻り年齢; 
	} 
	公共ボイドsetAge(int型の年齢){ 
		this.age =年齢。
	} 
	公共日getBirthday(){ 
		誕生日を返します。
	} 
	公共ボイドsetBirthday(日の誕生日){ 
		this.birthday =誕生日。
	} 


	パブリック日付getGraduation(){ 
		戻り卒業。
	} 
	公共ボイドsetGraduation(日付目盛){ 
		this.graduation =卒業。
	} 
	@Override 
	パブリック文字列(実行){例外をスロー
		 
		するSystem.out.println(「呼び出され実行」)。
		成功を返します。
	} 
	
	

	@Override 
	公共ボイド検証(){ 
		のSystem.out.println( "検証が起動")。
		//ユーザ名的长度在4〜6 
		であれば(ユーザ名== NULL || username.length()<4 || username.length()> 6){ 
			this.addActionError( "ユーザ無効")。
		} 
		
		
		IF(パスワード== NULL || password.length()<4 || password.length()> 6){ 
			this.addActionError( "パスワード無効")。
		}そうであれば(repassword == NULL || repassword.length()<4 || repassword.length()> 6){ 
			this.addActionError( "無効repassword")。
		}それ以外の場合は{(password.equals(repassword)!)
			this.addActionError( "パスワード同じではありません"); 
		} 
		{(年齢<10 ||年齢> 50)場合
			、この。
		}
		
		もし(ヌル==誕生日){ 
			this.addActionError( "バースデー無効"); 
		} 
		
		(ヌル==目盛){もし
			this.addActionError( "卒業無効")。
		} 
		
		
		{(=誕生日ヌル=卒業&&ヌル!)であれば
			カレンダーC1 = Calendar.getInstance(); 
			c1.setTime(誕生日)。
			
			カレンダーC2 = Calendar.getInstance(); 
			c2.setTime(卒業)。
			
			(c1.before(C2)){場合
				this.addActionError( "誕生日は卒業無効の前にあることshoud"); 
			} 
		
		} 
	} 
	

	
}

  validateメソッドを書き直し

 

おすすめ

転載: www.cnblogs.com/linlf03/p/11530740.html