日期:2014-05-16  浏览次数:20422 次

JSP自定义标签学习【轻松了解JSP自定义标签过程】

声明:本文由本人将多篇文章整合而成,非本人原创。

?

JSP处理逻辑:

JSP标签其实,是由服务端的Java类执行一些处理后,翻译成HTML,然后返回 给客户端,渲染展示出来。

附图:

?

JSP具体处理步骤如下:

?

1 .在JSP 中引入标签库:

?


1

<% @ taglib prefix=”taglibprefix” uri=”tagliburi” %>

2 .在JSP 中使用标签库标签

3Web 容器根据第二个步骤中的prefix ,获得第一个步骤中声明的tagliburi 属性值

4Web 容器根据uri 属性在web.xml 找到对应的元素

5 .从元素中获得对应的元素的值

6Web 容器根据元素的值从WEB-INF/ 目录下找到对应的.tld 文件

7 .从.tld 文件中找到与tagname 对应的元素

8 .凑元素中获得对应的元素的值

9Web 容器根据元素的值创建相应的tag handle class 的实例

10. Web 容器调用这个实例的doStartTag/doEndTag 方法完成相应的处理

?

?

自定义标签的 步骤如下

  1. 扩张TagSupport
  2. 写自定义Tagtld 文件
  3. web.xml 中指定你的tld 文件
  4. JSP 页面使用自定义标签

?

  • 扩展TagSupport

??? ??? 说明:
??? ??? ??? ???
一般不会去实现Tag 接口,而是通过TagSupport 类是实现了Tag 的接口继承过来的字段,这些字段用做public int ??? ????????? doStartTag()public int doEndTag() 返回值
??? ?? ??? ? ?? Tag.EVAL_BODY_INCLUDE
包含主体内容
??? ?? ??? ? ?? Tag.SKIP_BODY????
不包含主体内容
??? ?? ??? ? ?? Tag.EVAL_PAGE??? ?
包含后面的页面内容
??? ?? ??? ? ?? Tag.SKIP_PAGE????
不包含主体的内容????

?

实现一个简单实现代码:

java 代码

?

  1. package?com.mercyblitz;??
  2. import?java.io.IOException;??
  3. import?javax.servlet.jsp.JspException;??