解析JSP中标签库
作者 佚名技术
来源 JSP编程
浏览
发布时间 2012-03-14
理器的两个方法实现此过程:setPageContext(PageContext ctx)和setParent(Tag parent)。 c.如果标签具有属性,属性的取值通过处理器提供setter方法传入到对象。属性setter方法是一个标签支持属性所需的唯一方法。 d.页面的上下文和父标签已被调置,并已具备属性。此时调用标签处理器的doStartTag()方法,该方法可以读取这些变量并执行实现标答功能所需的计算和操作。doStartTag()方法必须返回一个整型数。返回EVAL_BODY_INCLUDE则正常处理标签体,返回SKIP_BODY则从初始JSP页面中直到此标签结束标记处的内容均被忽略。 e.标签体被评估或忽视后调用标签处理器的doEndTag()方法,返回EVAL_PAGE则页面的其余部分被评估,返回SKIP_PAGE则servlet代码立即从_jspService()中返回。 4.体标签处理器的接口与实现 javax.servlet.jsp.tagext.BodyTag是Tag的子接口。 javax.servlet.jsp.tagext.BodyTagSupport是实现BodyTag类。 BodyContent是javax.servlet.jsp.JspWriter的子类,但与其父类有所区别。 BodyContent对象的内容不自动写了入servlet的输出流,而是积累在一字符串缓存中。当标签体完成后其对象仍可在doEndTag()方法中可以应用,由getString()或getReader()方法操作。并在必要时修改及写入恢复的JspWriter输出流。 BodyContent类的方法 public void flush()throws IOException 复写JspWrite.flush()方法以便它总是产生溢出。刷新写入已失效,因为它没有连接到将被写入的实际输出流中。 public void clearBody() 重置BodyContent缓存为空。 public Reader getReader() 返回Reader读取体内容。 public String getString() 返回包含体内容的一个字符串。 public void writeOut(Write w) 将体内容写入指定输出。 public JspWrite getEnclosing Write() 返回栈中下一个更高的写入者对象(可能是另一个BodyContent对象)。 BodyTag接口定义了一个新的整型常量 EVAL_BODY_TAG 当doStartTag()返回时,使得新的BodyContent对象被创建并与此标签处理器相关联。当doAfterBody()返回时,使得JSP servlet在修改完此标签控制的任意变量后再次评估体。 BodyTag接口的方法 public void setBodyContern ( |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: J2EE基础--为什么jsp不能取代servlet?下一篇: JSP三种页面跳转方式的比较
关于解析JSP中标签库的所有评论