1 package fr.improve.struts.taglib.layout; 2 3 import javax.servlet.http.HttpServletRequest ; 4 import javax.servlet.jsp.JspException ; 5 6 import fr.improve.struts.taglib.layout.skin.Skin; 7 import fr.improve.struts.taglib.layout.util.HTMLUtils; 8 import fr.improve.struts.taglib.layout.util.LayoutUtils; 9 import fr.improve.struts.taglib.layout.util.TagUtils; 10 11 28 public class SkinTag extends javax.servlet.jsp.tagext.TagSupport { 29 33 private boolean include = false; 34 35 38 public int doEndTag() throws JspException { 39 Skin lc_skin = LayoutUtils.getSkin(pageContext.getSession()); 41 42 String cssLocation = lc_skin.getCssDirectory(pageContext.getRequest())+"/"+lc_skin.getCssFileName(); 44 HTMLUtils.generateTag(pageContext, "link", new String [][]{{"rel", "stylesheet"}, {"href", cssLocation}, {"type", "text/css"}}); 45 46 HTMLUtils.openTag(pageContext, "script", new String [][]{{"type", "text/javascript"}}); 48 StringBuffer sb = new StringBuffer (); 49 sb.append("var imgsrc=\""); 50 sb.append(lc_skin.getImageDirectory(pageContext.getRequest())); 51 if (!lc_skin.getImageDirectory(pageContext.getRequest()).endsWith("/")) sb.append("/"); 52 sb.append("\"; var scriptsrc=\""); 53 sb.append(lc_skin.getConfigDirectory(pageContext.getRequest())); 54 if (!lc_skin.getConfigDirectory(pageContext.getRequest()).endsWith("/")) sb.append("/"); 55 sb.append("\"; var langue=\""); 56 sb.append(LayoutUtils.getLocale(pageContext).getLanguage()); 57 sb.append("\"; var contextPath=\""); 58 sb.append(((HttpServletRequest )pageContext.getRequest()).getContextPath()); 59 sb.append("\";"); 60 TagUtils.write(pageContext, sb.toString()); 61 HTMLUtils.closeTag(pageContext, "script"); 62 63 if (include) { 65 sb = new StringBuffer (lc_skin.getConfigDirectory(pageContext.getRequest())); 66 if (!lc_skin.getConfigDirectory(pageContext.getRequest()).endsWith("/")) sb.append("/"); 67 sb.append("javascript.js"); 68 HTMLUtils.openTag(pageContext, "script", new String [][]{{"type", "text/javascript"}, {"src", sb.toString()}}); 69 HTMLUtils.closeTag(pageContext, "script"); 70 } 71 72 return EVAL_PAGE; 74 } 75 76 79 public void release() { 80 include = false; 81 } 82 83 87 public void setIncludeScript(boolean in_include) { 88 include = in_include; 89 } 90 } 91 | Popular Tags |