1. ActionSupport에는 validate () 메소드가 있습니다. 이 방법은 검증 방법입니다. Execute () 메소드가 실행되기 전에 실행되므로 검증에 좋은 역할을 할 수 있습니다.
@override // validate () 메소드를 다시 작성하여 공개 void validate () {if (null == th리 에이. 확인이 실패하면 addActionError ( "오류 메시지")를 호출 할 수 있습니다. 이런 식으로 오류 메시지가 저장됩니다.
전체 Validate 메소드가 실행되면 시스템은 이름 = "입력"에 해당하는 JSP 페이지를 자동으로 확인합니다. 일반적으로 우리가 등록한 페이지, 즉 우리가 어디에서 왔으며 어디로 가는지로 점프하는 것이 좋습니다.
/registerresult.jsp/register.jsp
비. 그런 다음 register.jsp입니다
즉,이 struts2 태그를 초기 등록 페이지에 추가하십시오.
<S : ActionError cssstyle = "색상 : 빨간색"/>
의미는 : 오류 메시지가 있으면 ActionError가 존재하면이 오류 메시지를 출력합니다.
또한 태그를 CSS로 설정할 수 있습니다
// struts2 태그를 사용하여 헤더 파일에 태그를 소개해야합니다. < %@ taglib prefix = "s"uri = "/struts-tags" %>
기음.
날짜를 비교하는 방법 :
Brithday와 졸업생은 날짜 유형입니다
if (null! = 생일 && null! = 졸업) {calendar c1 = calendar.getInstance (); c1.settime (생일); calendar c2 = calendar.getInstance (); c2.settime (졸업); if (! c1.before (c2)) { "this.2. 행동 수준 및 필드 레벨. 이러한 방식으로 오류를 추가 할 때 다른 레벨에 추가 할 수 있으며 오류 메시지를 유발할 때 모든 정보를 동작 레벨에 추가하지 않고 모든 정보가 동일하게 표시됩니다. 예를 들어 : 반복 비밀번호 오류의 오류 메시지를 나타내려면 빨간색 글꼴을 사용해야하며 사용자 이름, 나이 등과 같은 다른 정보는 녹색 글꼴로 표시됩니다. 현재 사용하여 다른 레벨에 추가 할 수 있습니다.
등록 페이지에서 필드 레벨 태그 만 작성하십시오. 다음과 같이 :
<s : actionError cssstyle = "color : red"// 액션 레벨 <s : fielderror cssstyle = "color : blue"> </s : fielderror> // 필드 레벨 public void validate () {if (null == this.username || this.username.length () <4 || this.username.length ()> 6) "); // 동작 레벨에 오류 메시지를 추가하십시오. AddFielderror ("사용자 이름 ","필드에서 사용자 이름 침입 "); // 필드 레벨에 오류 메시지 추가}}3. 오류를 보내면 원래 정보가 양식에 표시됩니다.
<s : form action = "registerAction"> <s : 텍스트 필드 이름 = "username"label = "username"> </s : textfield> <s : password name = "password"label = "password"> </s : password> <s : "repassword"label = "repassword"> </s : password> <s : textfield name = "텍스트 필드 =": "textfield> <s": label = "brithday"> </s : textfield> <s : textfield name = "graduate"label = "대학원"> </s : textfield> <s : value = "제출"> </s : 제출> </s : form>
struts2 태그를 사용하면 아래 그림과 같이 자동으로 입력 한 다음 잘못된 필드 레벨 정보를 표시 할 수 있습니다.
4. 그러나 테이블을 자동으로 사용하여 입력하는이 방법은 편리하지만 많은 경우에 우리의 요구를 충족시키지 않으므로 사용자 정의 조판을 사용할 수 있습니다.
방법 2 : 레이아웃 방법을 간단하게 정의하여 HTML 메소드에 직접 입력 할 수 있도록하십시오.
필드 레벨 오류는 자동으로 표시되지 않습니다.
<s : form action = "registerAction"테마 = "간단한"> <br/> 사용자 이름 : <s : textfield name = "username"label = "username"> </s : textfield> <br/> 비밀번호 : <s : <s : "password"label = "password"> </s : <s : password name = "Repassword" label = "repassword"> </s : password> <br/> age : <s : textfield name = "age"label = "age"> </s : textfield> <br/> 생일 : <s : textfield name = "생일"레이블 = "Brithday"> </s : textfield> <br/> wextfield "labile"<s <brfield ": 제출 값 = "제출"> </s : 제출> </s : 양식>
5. 보안의 경우, 방법이 정의되지 않은 경우 Struts가 게시물에 제출됩니다.
6. 입력 값이 메소드를 준수하지 않으면 나이가 int 유형이고 입력은 문자열 유형입니다. 시스템은 필드 "Age"에 대한 잘못된 필드 값을 필드 레벨에 판단하고 추가합니다. 정보는 다음과 같습니다.
실행 프로세스 :
1) 첫 번째 유형 변환을 수행하십시오
2) 그런 다음 입력 유효성 검사를 수행합니다 (유효성 검사 메소드 실행)
3) 위의 프로세스에서 오류가 발생하면 실행 메소드가 다시 실행되지 않습니다. 페이지는 struts.xml의 페이지로 돌아갑니다. 이름은 입력에 해당하는 결과입니다.
8. ADDACTIONERROR () ACTIONERROR () 메소드의 구현 ACTOCTERPORT 클래스 : 먼저 ArrayList 객체를 작성한 다음 ArrayList 객체에 오류 메시지를 추가합니다.
9. getActionErrors () 메소드가 호출되어 작업 수준 오류 메시지 목록을 반환하기 위해 리턴 된 것은 실제로 컬렉션 자체가 아닌 컬렉션의 사본입니다. 따라서 사본의 요소는 원래 컬렉션의 요소가 아닌 컬렉션 사본의 CLEAR () 메소드를 호출하여 여전히 지워집니다. 현재 원래 컬렉션의 내용은 영향을받지 않았습니다. 다시 말해, 조치 수준 오류 메시지 목록은 개발자에게 읽을 수 있지만 쓰기는 안됩니다.
유효성 검사 후 오류 메시지를 삭제하고 오류 메시지가 있더라도 실행 메소드를 실행하도록하려면 this.ClearAllActionErrors () 또는 this.clearAllFielDerrors () 메서드를 호출 할 수 있습니다.
10. Fielderror 레벨의 기본 오류 메시지는 LinkedHashMap을 통해 구현됩니다. 맵의 키는 문자열 유형이고 값은 <string> 유형입니다. 즉, 필드 이름이 여러 오류 메시지에 해당 할 수 있으며 이러한 오류 메시지는 <string> 수집 목록에 배치됩니다. 따라서 동일한 오류를 달성하기위한 여러 오류 메시지가 있습니다.
위는 편집기가 소개 한 스트럿에서 Validate ()를 입력하는 데 사용되는 검증 방법에 대한 자세한 설명입니다. 모든 사람에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 모든 사람에게 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!