1 package org.jahia.taglibs.url; 2 3 import java.io.IOException ; 4 5 import javax.servlet.ServletRequest ; 6 import javax.servlet.http.HttpServletRequest ; 7 import javax.servlet.jsp.JspWriter ; 8 import javax.servlet.jsp.tagext.BodyTagSupport ; 9 10 import org.jahia.data.JahiaData; 11 import org.jahia.utils.JahiaConsole; 12 13 14 19 public class ServerHttpPathTag extends BodyTagSupport { 20 21 private static final String CLASS_NAME = ServerHttpPathTag.class.getName(); 22 23 public void displayError(String message) { 24 try { 25 JspWriter out = pageContext.getOut(); 26 out.print( "<!--" + CLASS_NAME + ":" + message + "-->" ); 27 } catch (IOException ioe) { 28 JahiaConsole.println(CLASS_NAME+"doStartTag", ioe.toString()); 29 } 30 } 31 32 public int doStartTag() { 33 ServletRequest request = pageContext.getRequest(); 34 JahiaData jData = (JahiaData) request.getAttribute("org.jahia.data.JahiaData"); 35 36 try { 37 JspWriter out = pageContext.getOut(); 38 out.print( getServerHttpPath(jData) ); 39 } catch (IOException ioe) { 40 JahiaConsole.println(CLASS_NAME+"doStartTag", ioe.toString()); 41 } 42 43 44 return SKIP_BODY; 45 } 46 47 48 57 private final String getServerHttpPath (JahiaData jData) 58 { 59 if (jData != null) { 60 return jData.params().getRequest().getContextPath(); 61 } else if (org.jahia.bin.Jahia.getContextPath() != null) { 62 return org.jahia.bin.Jahia.getContextPath(); 63 } else { 64 return ((HttpServletRequest )pageContext.getRequest()).getContextPath(); 65 } 66 } 67 68 69 } 70 | Popular Tags |