1 package fr.improve.struts.taglib.layout; 2 3 import java.io.IOException ; 4 5 import javax.servlet.jsp.JspException ; 6 7 import fr.improve.struts.taglib.layout.event.EndLayoutEvent; 8 import fr.improve.struts.taglib.layout.event.StartLayoutEvent; 9 import fr.improve.struts.taglib.layout.skin.Skin; 10 import fr.improve.struts.taglib.layout.util.IButtonImageRenderer; 11 import fr.improve.struts.taglib.layout.util.LayoutUtils; 12 13 14 public class JavascriptImageTag extends BodyLayoutTagSupport { 15 18 protected String reqCode; 19 20 23 protected String href; 24 25 28 protected String styleClass; 29 30 33 private String content; 34 35 public int doStartLayoutTag() throws JspException { 36 StringBuffer start = new StringBuffer (); 38 start.append("<td colspan=\"").append(getLayoutColspan()).append("\">"); 39 new StartLayoutEvent(this, start.toString()).send(); 40 41 IButtonImageRenderer renderer = getRenderer(); 43 renderer.doEndButton(pageContext, this); 44 45 return EVAL_BODY_TAG; 46 } 47 48 public int doAfterBody() throws JspException { 49 content = bodyContent.getString(); 50 try { 51 bodyContent.clear(); 52 } catch (IOException e) { 53 throw new JspException ("Fail to clear bodyContent"); 54 } 55 return SKIP_BODY; 56 } 57 58 public int doEndLayoutTag() throws JspException { 59 IButtonImageRenderer renderer = getRenderer(); 61 renderer.doPrintLabel(pageContext, this, content); 62 content = null; 63 64 renderer.doStartButton(pageContext, this); 66 67 new EndLayoutEvent(this, "</td>").send(); 69 70 return EVAL_PAGE; 72 } 73 74 protected int getLayoutColspan() { 75 Skin skin = LayoutUtils.getSkin(pageContext.getSession()); 76 int span = skin.getFieldInterface().getColumnNumber(); 77 return span; 78 } 79 80 protected IButtonImageRenderer getRenderer() { 81 Skin skin = LayoutUtils.getSkin(pageContext.getSession()); 82 IButtonImageRenderer renderer = skin.getButtonRenderer(null); 83 return renderer; 84 } 85 86 89 public void release() { 90 super.release(); 91 reqCode = null; 92 styleClass = null; 93 href = null; 94 } 95 96 99 protected void initDynamicValues() throws JspException { 100 super.initDynamicValues(); 101 } 102 103 106 protected void reset() { 107 super.reset(); 108 } 109 110 public String getReqCode() { 111 return reqCode; 112 } 113 114 public void setReqCode(String reqCode) { 115 this.reqCode = reqCode; 116 } 117 118 public String getStyleClass() { 119 return styleClass; 120 } 121 122 public void setStyleClass(String styleClass) { 123 this.styleClass = styleClass; 124 } 125 126 public String getHref() { 127 return href; 128 } 129 130 public void setHref(String href) { 131 this.href = href; 132 } 133 134 } 135 | Popular Tags |