1 17 package org.ajaxtags.tags; 18 19 import java.io.IOException ; 20 21 import javax.servlet.jsp.JspException ; 22 import javax.servlet.jsp.JspWriter ; 23 import javax.servlet.jsp.tagext.BodyTagSupport ; 24 25 import org.ajaxtags.helpers.AjaxHtmlHelper; 26 import org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager; 27 28 37 public class AjaxAnchorsTag extends BodyTagSupport { 38 39 42 private static final long serialVersionUID = -1732745741282114289L; 43 private String ajaxFlag = "ajax"; 44 private String target; 45 46 49 public String getAjaxFlag() { 50 return this.ajaxFlag; 51 } 52 53 57 public void setAjaxFlag(String ajaxFlag) { 58 this.ajaxFlag = ajaxFlag; 59 } 60 61 64 public String getTarget() { 65 return this.target; 66 } 67 68 72 public void setTarget(String target) { 73 this.target = target; 74 } 75 76 79 @Override 80 public int doStartTag() throws JspException { 81 initParameters(); 82 return EVAL_BODY_BUFFERED; 83 } 84 85 88 @Override 89 public int doEndTag() throws JspException { 90 JspWriter out = this.pageContext.getOut(); 91 String body = this.bodyContent.getString(); 92 try { 93 body = AjaxHtmlHelper.ajaxAnchors(body, this.target, this.ajaxFlag); 94 out.println(body); 95 } catch (IOException ex) { 96 throw new JspException (ex.getMessage()); 97 } 98 return EVAL_PAGE; 99 } 100 101 104 @Override 105 public void release() { 106 this.ajaxFlag = null; 107 this.target = null; 108 super.release(); 109 } 110 111 116 protected void initParameters() throws JspException { 117 if (this.ajaxFlag != null) { 119 this.ajaxFlag = (String ) ExpressionEvaluatorManager.evaluate( 120 "ajaxFlag", this.ajaxFlag, String .class, this, 121 super.pageContext); 122 } 123 if (this.target != null) { 124 this.target = (String ) ExpressionEvaluatorManager.evaluate( 125 "target", this.target, String .class, this, 126 super.pageContext); 127 } 128 } 129 130 } 131 | Popular Tags |