1 18 package org.apache.beehive.netui.tags.template; 19 20 import javax.servlet.ServletRequest ; 21 import javax.servlet.jsp.JspException ; 22 import javax.servlet.jsp.tagext.TagSupport ; 23 import java.io.IOException ; 24 import java.io.Writer ; 25 import java.util.HashMap ; 26 27 98 public class 99 Attribute extends TagSupport 100 implements TemplateConstants 101 { 102 105 private String _name; 106 107 110 private String _defaultValue; 111 112 131 public void setName(String name) { 132 _name = name; 133 } 134 135 159 public void setDefaultValue(String defaultValue) { 160 _defaultValue = defaultValue; 161 } 162 163 168 public int doStartTag() 169 throws JspException { 170 ServletRequest req = pageContext.getRequest(); 171 HashMap atts = (HashMap ) req.getAttribute(TEMPLATE_ATTRIBUTES); 172 try { 173 if (atts != null) { 174 String val = (String ) atts.get(_name); 175 if (val != null) { 176 Writer out = pageContext.getOut(); 177 out.write(val); 178 } 179 else { 180 Writer out = pageContext.getOut(); 181 if (_defaultValue != null) 182 out.write(_defaultValue); 183 else 184 out.write(""); 185 } 186 } 187 else { 188 Writer out = pageContext.getOut(); 189 if (_defaultValue != null) 190 out.write(_defaultValue); 191 else 192 out.write(""); 193 } 194 } 195 catch (IOException e) { 196 localRelease(); 197 throw new JspException ("Caught IO Exception:" + e.getMessage(),e); 198 } 199 localRelease(); 200 return EVAL_PAGE; 201 } 202 203 206 protected void localRelease() { 208 _name = null; 209 _defaultValue = null; 210 } 211 } 212 | Popular Tags |