TagLib 教程

  一、概要:

1JSP标签技术始于JSP1.1

2、作用:代码复用;JSP页面简洁

3、四个步骤:
     A
、创建实现标签功能的JAVA类(BeanServlet
     B
、创建标签库的描述文件
     C
web.xml中添加标签库说明
     D
JSP页面中添加标签库说明,及使用标签

4、标签可以访问的数据范围类型:

application

session

request

page

注:主要是为了说明什么时候用JavaBeanTagLib]


二、TagLib常用知识点

1JSP Tag API
标签处理类必须是    

javax.servlet.jsp.TagSupport
javax.servlet.jsp.BodyTagSupport

的子类 ,其中后者是前者的子类。

2TagSupport的主要方法[8]及重要属性[2]
     1) 主要方法:
       
Servlet容器处理TAG开关相关的方法:

     AdoStartTag()---Servlet容器遇到自定义标签的起始标志时调用该方法
     B
doEndTag()---Servlet容器遇到自定义标签的结束结志时调用该方法

   与标签处理类中值相关的方法:

      CsetValue(String k,Object o) --- 在标签处理类中设置key / value
      D
getValue(String k) --- 在标签处理类中根据参数key返回相应的value
      E
removeValue(String k) --- 删除标签处理类中的相应的key / value

   Servlet容器相关,设置页面上下文相关的方法:

      FsetPageContext(PageContext pc) --- 设置PageContext对象,该方法由Servlet容器在调用doStartTagdoEndTag方法前调用

   与标签嵌套相关的方法:

      GsetParent(Tag t) --- 设置嵌套了当前标签的上层标签的处理类,该方法由Servlet容器在调用doStartTagdoEndTag方法前调用
      H
getParent() --- 返回嵌套了当前标签的上层标签的处理类


  2) 
重要属性:

      Aparent --- 代表了嵌套了当前标签的上层标签的处理类
      B
pageContext --- 代表了Web应用中的javax.servlet.jsp.PageContext对象


       
两点说明:

      A Servlet容器在调用doStartTag()或doEndTag()方法前,
               
会先调用setPageContext()setParent()方法,调置pageContextparent.
      B
、在doStartTag()doEndTag()方法中可以通过getParent()方法获取上层标签的处理类;

       TagSupport类中定义了protected类型的pageContext成员变量,因此在标签处理类中可以直接访问pageContext变量。

 

3pageContext类的几点说明:
     A
pageContext类提供了保存及访问WEB应用共享数据的方法:

           --- public   void  setAttribute(String name,Object value, int  scope)
           --- public  Object getAttribute(String name, int  scope)

  Bscope---用来指定数据的作用范围。可选值如下:

          PageContext.PAGE_SCOPE
          PageContext.REQUEST_SCOPE
          PageContext. SESSION_SCOPE
          PageContext.APPLICATION_SCOPE

    如:

setAttribute( " userName " , " dxm " ,PageContext.SESSION_SCOPE);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值