1 26 27 package org.nextime.ion.frontoffice.taglib; 28 29 import javax.servlet.jsp.JspException ; 30 import javax.servlet.jsp.JspTagException ; 31 import javax.servlet.jsp.tagext.BodyTagSupport ; 32 import javax.servlet.jsp.tagext.Tag ; 33 34 import org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager; 35 36 public class SelectObjectsParamTag extends BodyTagSupport { 37 38 private String _value; 39 private String _name; 40 41 public SelectObjectsParamTag() { 42 super(); 43 init(); 44 } 45 46 public int doStartTag() throws JspException { 47 evaluateExpressions(); 48 return super.doStartTag(); 49 } 50 51 public int doEndTag() throws JspException { 52 Tag t = findAncestorWithClass(this, SelectObjectsTag.class); 53 if (t == null) 54 throw new JspTagException ("Le tag param doit etre dans un tag selectObjects"); 55 56 if (_name == null && _name.equals("")) 57 return EVAL_PAGE; 58 59 SelectObjectsTag parent = (SelectObjectsTag) t; 60 String value = _value; 61 if (value == null) { 62 if (bodyContent == null || bodyContent.getString() == null) 63 value = ""; 64 else 65 value = bodyContent.getString().trim(); 66 } 67 parent.addParameter(_name, value); 68 return EVAL_PAGE; 69 } 70 71 public void release() { 72 super.release(); 73 init(); 74 } 75 76 public void setValue(String value) { 77 _value = value; 78 } 79 80 public void setName(String name) { 81 _name = name; 82 } 83 84 private void init() { 85 _value = null; 86 _name = null; 87 } 88 89 private void evaluateExpressions() throws JspException { 90 if (_value != null && !"".equals(_value)) { 91 _value = 92 ExpressionEvaluatorManager.evaluate( 93 "value", 94 _value, 95 Object .class, 96 this, 97 pageContext) 98 + ""; 99 } 100 } 101 102 } | Popular Tags |