1 18 package org.apache.beehive.netui.tags.html; 19 20 import org.apache.beehive.netui.tags.ByRef; 21 import org.apache.beehive.netui.tags.rendering.AbstractHtmlState; 22 import org.apache.beehive.netui.tags.rendering.TagRenderingBase; 23 import org.apache.beehive.netui.tags.rendering.WriteRenderAppender; 24 25 import javax.servlet.http.HttpServletRequest ; 26 import javax.servlet.jsp.JspException ; 27 28 116 public class Anchor extends AnchorBase 117 { 118 private String _text; private String _value; 120 121 124 public String getTagName() 125 { 126 return "Anchor"; 127 } 128 129 134 public AbstractHtmlState getState() 135 { 136 return _state; 137 } 138 139 148 public void setOnClick(String onclick) 149 { 150 _state.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, ONCLICK, setNonEmptyValueAttribute(onclick)); 151 } 154 155 165 public void setClientAction(String action) 166 throws JspException 167 { 168 _clientAction = setRequiredValueAttribute(action, "clientAction"); 169 } 170 171 184 public void setLinkName(String linkName) 185 throws JspException 186 { 187 _linkName = setRequiredValueAttribute(linkName, "linkName"); 188 } 189 190 199 public void setCharSet(String charSet) 200 { 201 _state.registerAttribute(AbstractHtmlState.ATTR_GENERAL, CHARSET, charSet); 202 } 203 204 213 public void setType(String type) 214 { 215 _state.registerAttribute(AbstractHtmlState.ATTR_GENERAL, TYPE, type); 216 } 217 218 227 public void setHrefLang(String hreflang) 228 { 229 _state.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HREFLANG, hreflang); 230 } 231 232 241 public void setRel(String rel) 242 { 243 _state.registerAttribute(AbstractHtmlState.ATTR_GENERAL, REL, rel); 244 } 245 246 255 public void setRev(String rev) 256 { 257 _state.registerAttribute(AbstractHtmlState.ATTR_GENERAL, REV, rev); 258 } 259 260 261 270 public void setTarget(String target) 271 { 272 _state.registerAttribute(AbstractHtmlState.ATTR_GENERAL, TARGET, target); 273 } 274 275 285 public void setValue(String value) 286 { 287 _value = setNonEmptyValueAttribute(value); 288 } 289 290 294 public int doStartTag() throws JspException 295 { 296 if (hasErrors()) 297 return SKIP_BODY; 298 return EVAL_BODY_BUFFERED; 299 } 300 301 305 public int doAfterBody() throws JspException 306 { 307 if (bodyContent != null && _value == null) { 308 String value = bodyContent.getString().trim(); 309 bodyContent.clearBody(); 310 if (value.length() > 0) 311 _text = value; 312 } 313 return SKIP_BODY; 314 } 315 316 320 public int doEndTag() throws JspException 321 { 322 if (hasErrors()) 324 return reportAndExit(EVAL_PAGE); 325 326 if (_value != null) { 327 _text = _value; 328 } 329 330 ByRef script = new ByRef(); 332 333 WriteRenderAppender writer = new WriteRenderAppender(pageContext); 334 HttpServletRequest request = (HttpServletRequest ) pageContext.getRequest(); 335 TagRenderingBase trb = TagRenderingBase.Factory.getRendering(TagRenderingBase.ANCHOR_TAG, request); 336 337 if (!createAnchorBeginTag(request, script, trb, writer, REQUIRED_ATTR)) { 338 if (!script.isNull()) 339 write(script.getRef().toString()); 340 return reportAndExit(EVAL_PAGE); 341 } 342 343 if (_text != null) 344 write(_text); 345 346 assert(trb != null) : "trb is null"; 347 trb.doEndTag(writer); 348 349 if (!script.isNull()) 350 write(script.getRef().toString()); 351 352 localRelease(); 354 return EVAL_PAGE; 355 } 356 357 } 358 | Popular Tags |