Memento 정의 : Memento는 다른 객체의 내부 상태 사본을 저장하여 객체를 향후 원래 저장 상태로 복원 할 수 있도록 객체입니다.
Memento 모드는 상대적으로 이해하기 쉽습니다. 다음 코드를 살펴 보겠습니다.
코드 사본은 다음과 같습니다.
공개 클래스 제작자 {
개인 INT 번호;
개인 파일 파일 = null;
공개 창업자 () {}
// 기념품을 만듭니다
공개 memento getmemento () {
새로운 memento (this)를 반환합니다.
}
// 원래 값으로 복원 public void setmemento (memento m) {
번호 = M.Number;
파일 = M.File;
}
}
Memento 클래스를 살펴 보겠습니다.
코드 사본은 다음과 같습니다.
개인 클래스 Memento는 Java.io.serializable {
개인 INT 번호;
개인 파일 파일 = null;
Public Memento (Originator O) {
번호 = O.Number;
파일 = O.File;
}
}
원래의 숫자와 파일 값은 Memento에 저장된다는 것을 알 수 있습니다. 원거리의 숫자와 파일 값이 변경되면 setmemento () 메소드를 호출하여 복원 할 수 있습니다.
Memento 모드의 단점은 내부 상태가 많으면 다른 사본을 저장하여 필연적으로 많은 메모리를 낭비한다는 것입니다.
JSP+Javabean에서 Memento 모드의 적용
JSP 애플리케이션에는 일반적으로 사용자 등록과 같이 사용자가 입력 해야하는 많은 양식이 있으며 일부 양식 항목이 작성되지 않거나 잘못 작성되지 않으면 JSP 프로그램을 통과해야합니다. 사용자는 "제출"을 누르면 실제로 채워지지 않은 항목이 있음을 알게됩니다. 동시에 테이블 항목 아래에있는 빨간색 텍스트로 경고 또는 오류가 표시됩니다 방금 입력 한 사용자도 표시됩니다.
아래 그림에서 이름은 사용자가 입력했으며 성이 입력되지 않았으며 빨간 경고를 자극합니다.
이 기술의 구현은 Javabean의 Scope = "Requess"또는 Scope = "세션"특성, 즉 Memento 모드를 사용하는 것입니다.