1. validate () 메소드가 작동합니다
struts2는이 인터페이스에 validate () 메소드 만있는 유효한 인터페이스를 제공합니다. 이 인터페이스를 구현하는 클래스는 Struts2에 의해 직접 호출 될 수 있습니다. ActionSupport 클래스는 vadiDateable 인터페이스를 구현하지만 validate () 메소드는 빈 메소드이며 다시 작성해야합니다.
execute () 메소드를 실행하기 전에 validate () 메소드가 실행됩니다. Execute () 메소드는 데이터 확인이 올바른 경우에만 실행됩니다. 오류가 발생하면 오류가 Fielderrors 필드에 추가됩니다. 정의 된 동작에 여러 논리적 처리 방법이 있고 다른 처리 로직마다 다른 검증 규칙이 필요한 경우,이 경우 validate ()는 모든 처리 로직에 대해 동일한 검증 규칙을 사용합니다. 다른 검증 로직을 구현하려면 x가 처리 로직의 메소드 이름을 나타내는 validatex () 메소드를 전달해야합니다.
액션 클래스 :
public class loginaction은 ActionSupport {private static final long serialversionuid = 1l; private String username; private String userPassword; public string execute () {system.out.println ( "execute"); return public string login () {system.out.println ( "login"); public void; validate () {system.out.println ( "validata");} public void validAteLogin () {system.out.println ( "validateLogin"); if (! {return username;} public void setusername (String username) {this.username = username;} public string getUserPassword () {return userPassword;} public void setUserPassword (String UserPassword) {this.userPassword = userPassword;}}struts.xml
<package name = "main"extends = "struts-default"> <global-restults> <result name = "login">/login.jsp> </global-Results> <action name = "loginperson"method = "login"> <result name = "success">/success </result> <result name = "input"> </action> </action>
성공 .JSP
<body> 로그인이 성공적으로 <s : 속성 값 = "계정"/> </body>
validateLogin.jsp
<hodderror/> </body>
실행 결과 (첫 번째 테스트가 정확하고 두 번째 테스트가 잘못되었습니다)
2. XWork 확인 프레임 워크를 전달하십시오
유효성 검사 메소드를 사용하여 확인하는 경우 웹 애플리케이션에 많은 작업이있는 경우 Validate 메소드를 여러 번 다시 작성해야합니다. 따라서 XWork의 유효성있는 자 프레임 워크를 사용하여 Code 양을 줄이기 위해 Struts2 데이터를 확인할 수 있습니다.
com.action 패키지에서 확인 파일 Loginaction-Validation.xml을 만듭니다. 참고 : 행동에 여러 비즈니스 처리 방법이있는 경우, 이름 지정 규칙은 다음과 같습니다. ActionName-Methodname-Validation.xml, 여기서 ActionName은 ACTION 클래스 이름이고 MethodName은 작업에서 비즈니스 처리 메소드의 메소드 이름이며 파일의 검색 순서는 validate () 및 validatex ()와 동일합니다.
Login-Validation.xml
<? xml version = "1.0"alcoding = "utf-8"?> <! doctype validators public "-// apache struts // xwork validator 1.0.2 // en" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd"> <field-validator type = "requessString"> <message> 이름은 null </message> </field-validator> </field> <필드 이름 = "userPassword"> <field-validator type = "requiredString"> <message> 암호가 무효가되어서는 안됩니다 </field-validator> </fieldators>
다음과 같이 다시 실행하십시오.
위의 필드 검증 방법은 필드 검증 방법이며 다른 방법은 다음과 같이 비 필드 검증 방법입니다.
login-validation.xml :
<validators> <validator type = "requestring"> <param name = "fieldname"> username </param> <message> 이름은 null </message </message> </validator> <quessionString "> <param name ="fieldName "> userPassword </param> <message> password nult </message> </palidator> </validators>
결과는 필드 검증 방법과 동일합니다.
첨부 파일 : struts2에 일반적으로 사용되는 검증 자 :