作者: 点击: <script src="/publish/news/counter.php?o=display&Id=4374"></script> 4 <script src="/publish/news/counter.php?Id=4374"></script> 日期:2004-11-13 03:23:32 |
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页面 |