当前位置: 首页 > 图文教程 > 网络编程 > JSP > JSP中的TagLib应用(4-2)

JSP
缓存JSP显示的内容
Bean和Servlet的企业应用
servlet会话
怎样从HttpServletRequest中得到完整的请求URL
Tips for Server-Side Redirection
利用Servlet的上下文环境和会话来实现聊天的程序
Servlet中如何捕获Session事件?
Servlet实现动态图文结合输出
如何在JSP中处理中文
使用JSP读取客户端信息
取代JSP--一种新的模版引擎Tea
Jsp最佳实践
如何用servlet在客户端生成一个合成图片
web.xml 常用结点说明[1]
Jsp最佳实践(2)
servlet中的几个路径有关的方法
JSP连接各类数据库大全(3)
JSP编程进度条设计实例(2)
用JSP操作Cookie(1)
ASP与JSP的比较(2)

JSP中的TagLib应用(4-2)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-04   浏览: 41 ::
收藏到网摘: n/a

  我们在处理自定义的tag时, 对父类的doStartTag() 和doEndTag() 要进行重载,如果在tld文件中定义了tag的属性, 就需要在tag handler里对每个属性定义相应的setxxx/getxxx方法.

在doStartTag()中是从Template类所定义的Hashtable中取得TemplateParameter对象.

在doEndTag()中

pageContext.getRequest().getRequestDispatcher(templateParam.getValue()).include(pageContext.getRequest(), pageContext.getResponse());

这是在页面里包含通过jsp页的上下文返回通过tag的属性值指定的资源对象(RequestDispatcher)所产生的内容..

doStartTag()和doEndTag()返回值是在Tag Interface里定义的静态int

SKIP_BODY隐含0

Skip body evaluation. Valid return value for doStartTag and doAfterBody. 跳过对body的处理。

就是跳过了开始和结束标签之间的代码。

EVAL_BODY_INCLUDE 隐含1

Evaluate body into existing out stream. Valid return value for doStartTag.

This is an illegal return value for doStartTag when the class implements BodyTag,

since BodyTag implies the creation of a new BodyContent.

将body的内容输出到存在的输出流中。包括是jsp代码,也可以被输出

SKIP_PAGE 隐含5

Skip the rest of the page. Valid return value for doEndTag.

忽略剩下的页面。

EVAL_PAGE 隐含6

Continue evaluating the page. Valid return value for doEndTag().

继续执行下面的页

在这个类里还有对其他类的引用,我就不列出来了. 各位可以自己去研究.