tailieunhanh - Java Server Pages 2nd Edition phần 7

Nó chứa các yếu tố XSLT để chuyển đổi tài liệu XML vào một bảng HTML. Ví dụ 14-2, cả hai var và các thuộc tính kết quả là bỏ qua, do đó hành động bổ sung thêm kết quả của nó để phản ứng. Đây là việc sử dụng phổ biến nhất, nhưng var và các thuộc tính kết quả có thể được sử dụng nếu kết quả chuyển đổi cần phải được bắt và chế biến hơn nữa. | Chapter 20. Developing Custom Tag Libraries public class TagSupport implements IterationTag Serializable . protected PageContext pageContext . public void setPageContext PageContext pageContext pageContext The JSP container calls this method before the tag handler is used. The TagSupport implementation simply sets an instance variable to the current PageContext object. The PageContext provides access to the request and response object and all the JSP scope variables and it implements a number of utility methods the tag handler may use. We will use most of these methods in the examples in this chapter. Appendix D includes a complete list of all PageContext methods. When the start tag is encountered the JSP container calls the do St art Tag method implemented like this in the TagSupport class public int doStartTag throws JspException return SKIP_BODY This method gives the tag handler a chance to initialize itself perhaps verifying that all attributes have valid values. Another use for this method is to decide what to do with the element s body content if a body exists. The method returns an int which must be one of two values defined by the Tag interface SKIP_BODY or EVAL_BODY_INCLUDE. The default implementation returns SKIP_BODY. As the name implies this tells the JSP container to ignore the body completely. If EVAL_BODY_INCLUDE is returned the JSP container processes the body for instance executes scripting elements and other actions in the body and includes the result in the response. You can create a simple conditional tag -- similar to the JSTL c if action -- by testing some condition set by action attributes in the doStartTag and return either SKIP_BODY or EVAL_BODY_INCLUDE depending on if the condition is true or false. No matter which value the doStartTag method returns the JSP container calls doEndTag when it encounters the end tag for the corresponding action element public int doEndTag throws JspException return EVAL_PaGe This is the .