服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

taglib原理和实现 第六章:标签内常用方法总结

第六章:标签内常用方法总结:

1。支持el表达式:
import org.apache.taglibs.standard.lang.support.expressionevaluatormanager;
private object value = null;
this.value = expressionevaluatormanager.evaluate("value", value.tostring(), object.class, this, pagecontext); 

2.用beanutil取属性值
import org.apache.commons.beanutils.propertyutils;
private string property=null;
object propertyvalue = propertyutils.getproperty(value, property);

3.设置request里的值
pagecontext.setattribute("var",propertyvalue);

4。打印
pagecontext.getout().print(outputstring);

5。取得父标签,取得想要的标签,即使它非父
getparent()
findancestorwithclass(this,ancestortag.class);

6。标签自带方法和常量,方法按照容器的调用顺序排列。示例 
 <c:if test="...">
  <c:out value="..."/>
 </c:if>
dostarttag : 容器解析到c:if左尖括号(“<”)时调用
doinitbody : 容器解析到c:if右尖括号(“>”)和c:out左尖括号(“<”)时调用
doafterbody : 容器解析到c:out结束标记(“/>”)时调用
doendtag :容器解析到c:if结束标记(“/>”)时调用

eval_body_skip : 通常在 dostarttag 方法里调用,忽略标签包括的内容,假如返回这个值,上面的c:if忽略c:out
eval_body_include :通常在 doafterbody 方法里调用,再次执行body,假如返回这个值,上面的c:out被执行多次
eval_page :可在任何方法里调用。返回jsp页面

扫描关注微信公众号