标签:内置 invoke 对象 标签 JSP 简单 getJspContext
简单标签
SimpleTag
最大的简化:
将传统方式的doStatTag(),doEndTag,doAfterBody()等方法简化成一个doTag()方法
doTag():传统方式可以对标签的最终显示进行修改,hello->HELLO,核心是有一个缓冲区
但是简单方式没有缓冲区。如何修改显示内容?流
javax.servlet.jsp.tagext.JspFragment类:代表一块JSP元素(该块 不代表scriplet,因此简单方式的tld文件中<body-content>不能是JSP)
JspFragment中有个invoke(Writer varl)方法,入参是“流”,即如果要修改显示内容,只需要修改此流
invoke(Writer varl):每调用一次invoke()方法,会执行一次标签体
SimpleTagSupport的getJspBody()可以获取JspFragment对象
SimpleTagSupport的getJspContext()可以获取jsp一些内置对象:
getJspContext()返回值是JspContext对象,是JSP内置对象的入口对象PageContext的父类
getJspContext()->JspContext->转换成子类PageContext
PageContext就是所有JSP内置对象的入口,即可以获取一切JSP内置对象
条件选择;
当某一个条件满足时,再执行某个标签体
传统标签:如果条件不满足,让doStartTag()的返回值为0
简单标签(不允许写scriplet<%...%>):如果条件不满足,不调用invoke()即可。
标签:内置,invoke,对象,标签,JSP,简单,getJspContext 来源: https://www.cnblogs.com/mayouyou/p/13169289.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。