taglib学习(Servlet_0400_FilterAndTaglib)
1:理解客户化JSP标签的作用
客户化JSP标签技术是在JSP 1.1版本中才出现的,它支持用户在JSP文件中自定义标签,这样可以使JSP代码更加简洁。
这些可重用的标签能处理复杂的逻辑运算和事务,或者定义JSP网页的输出内容和格式。
2:了解JSP Tag API
1)Servlet容器编译JSP网页时,如果遇到自定义标签,就会调用这个标签的处理类。
2)标签处理类必须扩展以下两个类之一:
javax.servlet.jsp. tagext .TagSupport
javax.servlet.jsp. tagext . BodyTagSupport
3)TagSupport的主要方法
doStartTag()Servlet容器遇到自定义标签的起始标志时调用该方法
doEndTag()Servlet容器遇到自定义标签的结束标志时调用该方法
setValue(String k,Object o)在标签处理类中设置key/value
getValue(String k)在标签处理类中根据参数key返回匹配的value
removeValue(String k)在标签处理类中删除key/value
setPageContext(PageContext pc)设置PageContext对象,该方法由Servlet容器在调 用doStartTag或doEndTag方法前调用
setParent(Tag t)设置嵌套了当前标签的上层标签的处理类,该方法由Servlet容器在 调用doStartTag或doEndTag方法前调用
getParent()返回嵌套了当前标签的上层标签的处理类
parent:代表嵌套了当前标签的上层标签的处理类
pageContext:代表Web应用中的javax.servlet.jsp.PageContext对象
3:掌握创建并运用客户化JSP标签的步骤
1)创建标签的处理类(HelloTag.java/MessageTag.java)
2)创建标签库描述文件(WEB-INF/mytaglib.tld)
3)在JSP文件中引入标签库,然后插入标签(hellowithtag1.jsp/hellowithtag2.jsp)
4:掌握在客户化JSP标签中访问application、session、request和page范围内的共享数据的方法。
在标签处理类中,如何访问session范围内的共享数据?
1)在标签处理类TagSupport类中定义了pageContext成员变量,先通过它的getSession()方法获得当前的HttpSession对象,再调用HttpSession对象的getAttribute()方法。
2)pageContext.getAttribute(“attributename”,PageContext.SESSION_SCOPE)