解析JSP中标签库
作者 佚名技术
来源 JSP编程
浏览
发布时间 2012-03-14
ontext ctx)和setParent(Tag parent)。 c.如果标签具有属性,属性的取值通过处理器提供setter方法传入到对象。属性setter方法是一个标签支持属性所需的唯一方法。 d.页面的上下文和父标签已被调置,并已具备属性。调用标签处理器的doStartTag()方法,该方法可以读取这些变量并执行实现标答功能所需的计算和操作。 doStartTag()方法必须返回一个整型数。 返回EVAL_BODY_TAG则正常处理标签体(跳到e); 返回SKIP_BODY则从初始JSP页面中直到此标签结束标记处的内容均被忽略。(跳到f) e.如果返回EVAL_BODY_TAG时,则正常处理标签体。 e1.在栈中保存当前的JspWriter对象,创建新的BodyContent对象,并将其置为JSP页面的out对象保存在上下文范围内名为name的属性中。并调用它的setBodyContent()方法。 e2.调用doInitBody()方法进行初始化。 e3.处理标签体。将输出写入BodyContent对象中,此过程依赖于TLD的标签元素 e4.调用doAfterBody()方法,将体内体内容写入JspWriter,可如下实现: JspWriter out=bodyContent.getEnclosingWriter(); out.println(bodyContent.getString());//bodyContent.writeOut(out); bodyContent.clear(); e5.doAfterBody()方法返回两种可能: 返回EVAL_BODY_TAG时,再对标签体进行评估,这是数组和枚举被循环处理的典型情况。 返回SKIP_PAGE时,继续页面的其余部份。 e6.体内容完成,因此创建它的过程被反向: 调用pageContent.popBody()方法检索前面的JspWriter对象。 将写入者设置回out隐含对象。 f.标签体被评估或忽视后调用doEndTag()方法,允许标签处理器像输出流发回内容。 返回EVAL_PAGE则页面的其余部分被评估; 返回SKIP_PAGE则servlet代码立即从_jspService()中返回。 g. 此时体的内容在受保护的bodyContent对象中仍然可用。 可以将它写入servlet输出流中: JspWriter out=pageContext.getOut(); out.println(bodyContent.getString()); 或者 bodyContent.WriteOut(pageContext.getOut()); 6.标签附加信息类 四、标签指令 taglib指令元素的目的是指定TLD的位置,设置在页面上与标签区分开来的一个短别名。 语法: 属性:prefix:用于标识标签库的唯一标识。uri:标签库本身的URI。 uri不必指向一个 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: J2EE基础--为什么jsp不能取代servlet?下一篇: JSP三种页面跳转方式的比较
关于解析JSP中标签库的所有评论