KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > fr > improve > struts > taglib > layout > JavascriptImageTag


1 package fr.improve.struts.taglib.layout;
2
3 import java.io.IOException JavaDoc;
4
5 import javax.servlet.jsp.JspException JavaDoc;
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     /**
16      * Request code.
17      */

18     protected String JavaDoc reqCode;
19     
20     /**
21      * Link.
22      */

23     protected String JavaDoc href;
24     
25     /**
26      * CSS style class
27      */

28     protected String JavaDoc styleClass;
29     
30     /**
31      * Content.
32      */

33     private String JavaDoc content;
34     
35     public int doStartLayoutTag() throws JspException JavaDoc {
36         // Start layout tag.
37
StringBuffer JavaDoc start = new StringBuffer JavaDoc();
38         start.append("<td colspan=\"").append(getLayoutColspan()).append("\">");
39         new StartLayoutEvent(this, start.toString()).send();
40         
41         // Start button tag.
42
IButtonImageRenderer renderer = getRenderer();
43         renderer.doEndButton(pageContext, this);
44         
45         return EVAL_BODY_TAG;
46     }
47     
48     public int doAfterBody() throws JspException JavaDoc {
49         content = bodyContent.getString();
50         try {
51             bodyContent.clear();
52         } catch (IOException JavaDoc e) {
53             throw new JspException JavaDoc("Fail to clear bodyContent");
54         }
55         return SKIP_BODY;
56     }
57     
58     public int doEndLayoutTag() throws JspException JavaDoc {
59         // Display text.
60
IButtonImageRenderer renderer = getRenderer();
61         renderer.doPrintLabel(pageContext, this, content);
62         content = null;
63         
64         // End button tag.
65
renderer.doStartButton(pageContext, this);
66         
67         // End layout tag.
68
new EndLayoutEvent(this, "</td>").send();
69         
70         // Continue.
71
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     /**
87      * Release tag.
88      */

89     public void release() {
90         super.release();
91         reqCode = null;
92         styleClass = null;
93         href = null;
94     }
95     
96     /**
97      * Initialize dynamic values.
98      */

99     protected void initDynamicValues() throws JspException JavaDoc {
100         super.initDynamicValues();
101     }
102       
103     /**
104      * Reset dynamic values.
105      */

106     protected void reset() {
107           super.reset();
108     }
109
110     public String JavaDoc getReqCode() {
111         return reqCode;
112     }
113
114     public void setReqCode(String JavaDoc reqCode) {
115         this.reqCode = reqCode;
116     }
117
118     public String JavaDoc getStyleClass() {
119         return styleClass;
120     }
121
122     public void setStyleClass(String JavaDoc styleClass) {
123         this.styleClass = styleClass;
124     }
125
126     public String JavaDoc getHref() {
127         return href;
128     }
129
130     public void setHref(String JavaDoc href) {
131         this.href = href;
132     }
133     
134 }
135
Popular Tags