자바 중급 (JAVA-Web) 강좌 자료] 태그핸들러(Tag Handler) - Body Tag 인터페이스 동작순서 (2)

자바 중급 (JAVA-Web) 강좌 자료] 태그핸들러(Tag Handler) - Body Tag 인터페이스 동작순서 (2)

 

 

 


실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

 

 

 

 

태그핸들러(Tag Handler) - Body Tag 인터페이스 동작순서 (2)

 

● 본문의 내용을 초기화하고 수행한다.

  - doStartTag()에서 return valueEVAL_BODY_TAG(JSP1.2이상에서는 EVAL_BODY_BUFFERED)인 경우에 수행된다.

  - EVAL_BODY_TAG가 리턴 되면 BodyContent 클래스를 생성하고 초기화한다. BodyContent 클래스는 JspWriter 클래스의 서브 클래스이며 이 클래스를 이용하여 본문의 내용을 읽어오고 수행결과를 페이지에 표시한다.

  - BodyContent 클래스의 인스턴스를 생성 한 후 setBodyContent 메소드를 통해 BodyContent 클래스를 핸들러 클래스에 결합시키며  doInitBody() 메소드는 setBodyContent()를 이용해 초기화 할 때 누락된 부분을 다시 초기화를 진행한다. 즉 처리할 본체를 위한 특성들을 설정한다. doInitBody()Return 값이 없다.

  - 이상과 같이 초기화를 진행 한 후에는 본문의 내용을 수행하는데 수행결과는 BodyContent 클래스의 인스턴스에 저장된다. 본문의 수행이 종료되면 JSP 컨테이너는 doAfterBody()를 호출한다.

  - doAfterBody()BodyContent의 인스턴스를 사용하여 작업을 수행하며 이 메소드가 종료되면 EVAL_BODY_TAG(JSP1.2이상에서는 EVAL_BODY_AGAIN)SKIP_BODY등의 값이 Return 되는데 EVAL_BODY_TAGReturn되면 한번더 doAfterBody() 메소드가 호출되게 되는 것 이다. 즉 아직 처리 해야 할 본문의 내용이 더 있다는 뜻이다. 결국 이 과정을 반복하는 것이다.

  - 모든 작업이 완료되면 SKIP_BODYReturn 된다.


 

 

+ Recent posts