龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

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

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
第六章:标签内常用方法总结: 1。支持el表达式: import org.apache.taglibs.standard.lang.support.EXPressionEvaluatorManager; private Object value = null; this.value = ExpressionEvaluatorManager.evaluate("value", value.toS

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

  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页面


  
精彩图集

赞助商链接