1 package org.jahia.deprecated.taglibs.button; 2 3 import java.io.IOException ; 4 import java.util.MissingResourceException ; 5 6 import javax.servlet.http.HttpServletRequest ; 7 import javax.servlet.jsp.JspException ; 8 import javax.servlet.jsp.JspWriter ; 9 import javax.servlet.jsp.tagext.BodyTagSupport ; 10 11 import org.jahia.data.JahiaData; 12 import org.jahia.deprecated.taglibs.resourcebundle.EngineResourceBundleTag; 13 import org.jahia.params.ParamBean; 14 import org.jahia.resourcebundle.JahiaResourceBundle; 15 import org.jahia.utils.JahiaConsole; 16 17 29 public class JahiaButton extends BodyTagSupport { 30 31 private static org.apache.log4j.Logger logger = 32 org.apache.log4j.Logger.getLogger(JahiaButton.class); 33 34 public void setImg(String img) { 35 this.img = img; 36 } 37 38 public void setHref(String href) { 39 this.href = href; 40 } 41 42 public void setAlt(String alt) { 43 this.alt = alt; 44 } 45 46 public void setAltKey(String altKey) { 47 this.altKey = altKey; 48 } 49 50 public void setAltBundle(String altBundle) { 51 this.altBundle = altBundle; 52 } 53 54 55 public int doStartTag() { 56 57 HttpServletRequest request = (HttpServletRequest )pageContext.getRequest(); 59 JahiaData jData = (JahiaData)request.getAttribute("org.jahia.data.JahiaData"); 60 61 String bImageOff = ""; 63 String bImageOn = ""; 64 try { 65 bImageOff = EngineResourceBundleTag.parseResourceValue( 66 JahiaResourceBundle.getEngineResource("org.jahia." + img + "Off.button", 67 jData.params(), 68 jData.params().getLocale()),jData.params()); 69 bImageOn = EngineResourceBundleTag.parseResourceValue( 70 JahiaResourceBundle.getEngineResource("org.jahia." + img + "On.button", 71 jData.params(), 72 jData.params().getLocale()),jData.params()); 73 74 } catch (MissingResourceException mre) { 75 logger.debug("Error while trying to retrieve resource for image :" + img, mre); 76 } 77 78 if (bImageOff == null) bImageOff = ""; 81 if (bImageOn == null) bImageOn = ""; 82 bImageOff = getServerHttpPath(jData.params()) + bImageOff; 83 bImageOn = getServerHttpPath(jData.params()) + bImageOn; 84 String sImgID = "img" + String.valueOf(imgID++); 86 87 if (altKey != null) { 89 alt = JahiaResourceBundle.getResource(altBundle, altKey, jData.params().getLocale(), jData.params()); 90 } 91 92 try { 94 JspWriter out = pageContext.getOut(); 95 StringBuffer str = new StringBuffer ("\n"); 96 if (debug) { 97 str.append("<!-- ============================================================= -->\n"); 98 str.append("<!-- The following HTML code is generated by 'jahiaButton' taglib -->\n"); 99 str.append("<!-- Parameters : img = "); 100 str.append(img); str.append("\n"); 101 str.append(" : href = "); 102 str.append(href); str.append("\n"); 103 str.append(" : alt = "); 104 str.append(alt); 105 str.append("\n--------------------------------------------------------------------->\n"); 106 } 107 str.append("<a HREF=\""); 108 str.append(href); 109 str.append("\"\n"); 110 str.append(" onMouseOut=\"MM_swapImgRestore()\"\n"); 111 str.append(" onMouseOver=\"MM_swapImage('"); 112 str.append(sImgID); 113 str.append("','','"); 114 str.append(bImageOn); 115 str.append("',1)\"\n"); 116 str.append(" ><img name=\""); 117 str.append(sImgID); 118 str.append("\" alt=\""); 119 str.append(alt); 120 str.append("\"\n"); 121 str.append(" SRC=\""); 122 str.append(bImageOff); 123 str.append("\" border=\"0\"></a>"); 124 if (debug) { 129 str.append("<!-- End 'jahiaButton' taglib ===== -->"); 130 } 131 out.print(str.toString()); 132 } catch (IOException ioe) { 133 JahiaConsole.println("JahiaButton.doStartTag", ioe.toString()); 134 } 135 return SKIP_BODY; 136 } 137 138 147 private final String getServerHttpPath (ParamBean jParams) 148 { 149 return jParams.getRequest().getContextPath(); 150 } 151 152 public int doEndTag() throws JspException { 153 img = ""; 156 href = ""; 157 alt = ""; 158 altKey = null; 159 altBundle = null; 160 return EVAL_PAGE; 161 } 162 163 private String img = ""; 165 private String href = ""; 166 private String alt = ""; 167 168 private String altKey = null; 169 private String altBundle = null; 170 171 private static long imgID = 0; 173 private boolean debug = true; 174 175 176 } 177 | Popular Tags |