KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > fr > improve > struts > taglib > layout > renderer > BasicImageRenderer


1 package fr.improve.struts.taglib.layout.renderer;
2
3 import javax.servlet.jsp.JspException JavaDoc;
4 import javax.servlet.jsp.PageContext JavaDoc;
5
6 import fr.improve.struts.taglib.layout.JavascriptImageTag;
7 import fr.improve.struts.taglib.layout.util.IButtonImageRenderer;
8 import fr.improve.struts.taglib.layout.util.LayoutUtils;
9 import fr.improve.struts.taglib.layout.util.TagUtils;
10
11 /**
12  * Basic renderer for image button.
13  * This allows to create auto-expanding round button.
14  *
15  * TODO
16  * - compute the name of the reqCode attribute (it may not be reqCode)
17  * - don't generate a reqCode if reqCode is null (not everybody is using DispatchAction)
18  * - compute the name of the HTML form elements (there may be several form in the page)
19  *
20  * @author jribette
21  */

22 public class BasicImageRenderer implements IButtonImageRenderer {
23     
24     public void doEndButton(PageContext JavaDoc context, JavascriptImageTag tag) throws JspException JavaDoc {
25 // Compute onclick JS code.
26
String JavaDoc javascript = null;
27         
28         if (tag.getReqCode()!= null) {
29             javascript = "return getParentForm(this, '"+tag.getReqCode()+"');";
30         }
31         if (tag.getHref()!= null) {
32             javascript = "window.location = '"+tag.getHref()+"';";
33         }
34     
35         // Start table.
36
TagUtils.write(context, "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" ");
37         if (javascript!=null){
38             TagUtils.write(context, "onclick=\"" + javascript +"\" ");
39         }
40         TagUtils.write(context, "onmouseover=\"this.style.cursor='hand'\"");
41         TagUtils.write(context, ">\n");
42         // Start row.
43
TagUtils.write(context, "<tr>");
44         
45         // Left cell.
46
TagUtils.write(context, "<td class=\"");
47         TagUtils.write(context, tag.getStyleClass());
48         TagUtils.write(context, "_left\">");
49         TagUtils.write(context, "<img SRC=\"");
50         TagUtils.write(context, LayoutUtils.getSkin(context.getSession()).getImageDirectory(context.getRequest()));
51         TagUtils.write(context, "clearpixel.gif\" width=\"1\" height=\"1\"/>");
52         TagUtils.write(context, "</td>");
53     }
54     public void doPrintLabel(PageContext JavaDoc context, JavascriptImageTag tag, String JavaDoc label) throws JspException JavaDoc {
55         // Center cell with label.
56
TagUtils.write(context, "<td class=\"");
57         TagUtils.write(context, tag.getStyleClass());
58         TagUtils.write(context, "\">");
59         TagUtils.write(context, label);
60         TagUtils.write(context, "</td>");
61         
62     }
63     public void doStartButton(PageContext JavaDoc context, JavascriptImageTag tag) throws JspException JavaDoc {
64         // Right cell.
65
TagUtils.write(context, "<td class=\"");
66         TagUtils.write(context, tag.getStyleClass());
67         TagUtils.write(context, "_right\">");
68         TagUtils.write(context, "<img SRC=\"");
69         TagUtils.write(context, LayoutUtils.getSkin(context.getSession()).getImageDirectory(context.getRequest()));
70         TagUtils.write(context, "clearpixel.gif\" width=\"1\" height=\"1\"/>");
71         TagUtils.write(context, "</td>");
72         
73         // Close row and table.
74
TagUtils.write(context, "</tr></table>");
75     }
76 }
77
Popular Tags