KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > fr > improve > struts > taglib > layout > field > CheckboxesTag


1 package fr.improve.struts.taglib.layout.field;
2
3 import javax.servlet.jsp.JspException JavaDoc;
4
5 import fr.improve.struts.taglib.layout.util.LayoutUtils;
6 /**
7  * This tag lets the user select a value from a collection by selecting a radio button.<br>
8  * The tag works like the select tag expect that it generates radio buttons instead of select options.
9  */

10 public class CheckboxesTag extends AbstractMultipleSelectTag {
11
12 /**
13  * This method is called by the nested tags to add a value in the list.
14  */

15 public boolean add1Choice(StringBuffer JavaDoc sb, String JavaDoc value) throws JspException JavaDoc {
16     switch (getFieldDisplayMode()) {
17         case MODE_INSPECT :
18             // If the value is selected, display the image of a selected checkbox.
19
if (matches.contains(value)) {
20                 sb.append("<img SRC=\"");
21                 sb.append(getSkin().getImageDirectory(pageContext.getRequest()));
22                 sb.append("/");
23                 sb.append(getSkin().getProperty("layout.checkbox.checked"));
24                 sb.append("\" border=\"0\" alt=\"");
25                 sb.append(getSkin().getProperty("layout.checkbox.checked.label"));
26                 sb.append("\">");
27                 return true;
28             } else {
29                 String JavaDoc lc_imgsrc = getSkin().getProperty("layout.checkbox.unchecked");
30                 if (lc_imgsrc!=null && lc_imgsrc.length()>0) {
31                     sb.append("<img SRC=\"");
32                     sb.append(getSkin().getImageDirectory(pageContext.getRequest()));
33                     sb.append("/");
34                     sb.append(lc_imgsrc);
35                     sb.append("\" border=\"0\" alt=\"");
36                     sb.append(getSkin().getProperty("layout.checkbox.unchecked.label"));
37                     sb.append("\">");
38                 }
39                 return false;
40             }
41         case MODE_EDIT :
42             // Display a checkbox.
43
sb.append("<input type=\"checkbox\" name=\"");
44             sb.append(property);
45             sb.append("[");
46             sb.append(index);
47             sb.append("]\" value=\"");
48             sb.append(value);
49             sb.append("\"");
50             if (getTooltip()!=null) {
51                 sb.append(" title=\"");
52                 sb.append(LayoutUtils.getLabel(getPageContext(), getBundle(), getTooltip(), null, false));
53                 sb.append("\"");
54             }
55             if (onchange!=null) {
56                 sb.append(" onchange=\"");
57                 sb.append(onchange);
58                 sb.append("\"");
59             }
60             if (onclick!=null) {
61                 sb.append(" onclick=\"");
62                 sb.append(onclick);
63                 sb.append("\"");
64             }
65             if (matches.contains(value)) {
66                 sb.append(" checked>");
67                 return true;
68             }
69             sb.append(">");
70             return false;
71         default :
72             return false;
73     }
74 }
75 }
76
Popular Tags