1 package fr.improve.struts.taglib.layout; 2 3 import javax.servlet.jsp.JspException ; 4 import javax.servlet.jsp.PageContext ; 5 6 import org.apache.struts.Globals; 7 import org.apache.struts.taglib.html.Constants; 8 import org.apache.struts.util.MessageResources; 9 10 import fr.improve.struts.taglib.layout.el.Expression; 11 import fr.improve.struts.taglib.layout.skin.Skin; 12 import fr.improve.struts.taglib.layout.util.LayoutUtils; 13 14 18 public abstract class LabelledTag extends LayoutTagSupport { 19 20 protected static MessageResources messages = 21 MessageResources.getMessageResources(Constants.Package + ".LocalStrings"); 22 23 protected String arg0; 24 protected String arg1; 25 protected String arg2; 26 protected String arg3; 27 protected String arg4; 28 29 protected String arg0Name; 30 protected String arg0Property; 31 32 protected String arg1Name; 33 protected String arg1Property; 34 35 protected String key; 36 37 protected String bundle = Globals.MESSAGES_KEY; 38 39 protected String localeKey = Globals.LOCALE_KEY; 40 41 protected String name; 42 protected String property; 43 44 protected String styleClass; 45 protected String style; 46 47 50 protected String layoutId; 51 52 55 private Skin skin = null; 56 57 public String getKey() { 58 return key; 59 } 60 protected String getLabel() throws JspException { 61 try { 62 if (key == null && name != null) 63 return (String ) LayoutUtils 64 .getBeanFromPageContext(pageContext, name, property) 65 .toString(); 66 } catch (ClassCastException l_cce) { 67 throw new JspException ("oups"); 68 } 69 70 String lc_key = null; 71 String [] lc_args = new String [5]; 72 String lc_arg0 = null; 73 String lc_arg1 = null; 74 75 Object lc_obj; 76 if (arg0Name != null) { 77 lc_obj = LayoutUtils.getBeanFromPageContext(pageContext, arg0Name, arg0Property); 78 if (lc_obj != null) { 79 lc_arg0 = lc_obj.toString(); 80 } 81 } else { 82 lc_arg0 = Expression.evaluate(arg0, pageContext); 83 } 84 if (arg1Name != null) { 85 lc_obj = LayoutUtils.getBeanFromPageContext(pageContext, arg1Name, arg1Property); 86 if (lc_obj != null) { 87 lc_arg1 = lc_obj.toString(); 88 } 89 } else { 90 lc_arg1 = Expression.evaluate(arg1, pageContext); 91 } 92 93 lc_key = Expression.evaluate(key, pageContext); 94 lc_args[0] = lc_arg0; 95 lc_args[1] = lc_arg1; 96 lc_args[2] = Expression.evaluate(arg2, pageContext); 97 lc_args[3] = Expression.evaluate(arg3, pageContext); 98 lc_args[4] = Expression.evaluate(arg4, pageContext); 99 return LayoutUtils.getLabel(pageContext, bundle, lc_key, lc_args, false); 100 } 101 public String getName() { 102 return name; 103 } 104 105 public String getProperty() { 106 return property; 107 } 108 public String getStyleClass() { 109 return styleClass; 110 } 111 public void setPageContext(PageContext in_pageContext) { 112 super.setPageContext(in_pageContext); 113 skin = LayoutUtils.getSkin(in_pageContext.getSession()); 114 } 115 protected Skin getSkin() { 116 return skin; 117 } 118 public void release() { 119 super.release(); 120 key = null; 121 bundle = Globals.MESSAGES_KEY; 122 localeKey = Globals.LOCALE_KEY; 123 arg0 = null; 124 arg1 = null; 125 arg2 = null; 126 arg3 = null; 127 arg4 = null; 128 name = null; 129 property = null; 130 styleClass = null; 131 style = null; 132 skin = null; 133 134 arg0Name = null; 135 arg0Property = null; 136 arg1Name = null; 137 arg1Property = null; 138 139 layoutId = null; 140 } 141 145 public void setArg0(String arg0) { 146 this.arg0 = arg0; 147 } 148 149 153 public void setArg1(String arg1) { 154 this.arg1 = arg1; 155 } 156 157 161 public void setArg2(String arg2) { 162 this.arg2 = arg2; 163 } 164 165 169 public void setArg3(String arg3) { 170 this.arg3 = arg3; 171 } 172 173 177 public void setArg4(String arg4) { 178 this.arg4 = arg4; 179 } 180 181 public void setBundle(String bundle) { 182 this.bundle = bundle; 183 } 184 public void setKey(String key) { 185 this.key = key; 186 } 187 public void setName(String name) { 188 this.name = name; 189 } 190 public void setProperty(String property) { 191 this.property = property; 192 } 193 public void setStyleClass(String styleClass) { 194 this.styleClass = styleClass; 195 } 196 public void setStyle(String in_style) { 197 this.style = in_style; 198 } 199 public String getStyle() { 200 return style; 201 } 202 public String getBundle() { 203 return bundle; 204 } 205 206 210 214 public String getArg0() { 215 return arg0; 216 } 217 218 222 public String getArg1() { 223 return arg1; 224 } 225 226 230 public String getArg2() { 231 return arg2; 232 } 233 234 238 public String getArg3() { 239 return arg3; 240 } 241 242 246 public String getArg4() { 247 return arg4; 248 } 249 253 public String getArg0Name() { 254 return arg0Name; 255 } 256 257 261 public String getArg0Property() { 262 return arg0Property; 263 } 264 265 269 public String getArg1Name() { 270 return arg1Name; 271 } 272 273 277 public String getArg1Property() { 278 return arg1Property; 279 } 280 281 285 public void setArg0Name(String arg0Name) { 286 this.arg0Name = arg0Name; 287 } 288 289 293 public void setArg0Property(String arg0Property) { 294 this.arg0Property = arg0Property; 295 } 296 297 301 public void setArg1Name(String arg1Name) { 302 this.arg1Name = arg1Name; 303 } 304 305 309 public void setArg1Property(String arg1Property) { 310 this.arg1Property = arg1Property; 311 } 312 313 317 public String getLayoutId() { 318 return layoutId; 319 } 320 321 325 public void setLayoutId(String layoutId) { 326 this.layoutId = layoutId; 327 } 328 329 } | Popular Tags |