1 25 package org.ofbiz.webapp.taglib; 26 27 import java.io.IOException ; 28 import javax.servlet.http.HttpServletRequest ; 29 import javax.servlet.jsp.JspException ; 30 import javax.servlet.jsp.tagext.BodyContent ; 31 import javax.servlet.jsp.tagext.BodyTagSupport ; 32 33 import org.ofbiz.base.util.Debug; 34 import org.ofbiz.base.util.UtilJ2eeCompat; 35 import org.ofbiz.base.util.UtilProperties; 36 import org.ofbiz.base.util.UtilValidate; 37 import org.ofbiz.webapp.website.WebSiteWorker; 38 import org.ofbiz.entity.GenericValue; 39 40 47 public class ContentUrlTag extends BodyTagSupport { 48 49 public static final String module = UrlTag.class.getName(); 50 51 public static void appendContentPrefix(HttpServletRequest request, StringBuffer urlBuffer) { 52 GenericValue webSite = WebSiteWorker.getWebSite(request); 53 if (request.isSecure()) { 54 if (webSite != null && UtilValidate.isNotEmpty(webSite.getString("secureContentPrefix"))) { 55 urlBuffer.append(webSite.getString("secureContentPrefix").trim()); 56 } else { 57 String prefix = UtilProperties.getPropertyValue("url", "content.url.prefix.secure"); 58 if (prefix != null) { 59 urlBuffer.append(prefix.trim()); 60 } 61 } 62 } else { 63 if (webSite != null && UtilValidate.isNotEmpty(webSite.getString("standardContentPrefix"))) { 64 urlBuffer.append(webSite.getString("standardContentPrefix").trim()); 65 } else { 66 String prefix = UtilProperties.getPropertyValue("url", "content.url.prefix.standard"); 67 if (prefix != null) { 68 urlBuffer.append(prefix.trim()); 69 } 70 } 71 } 72 } 73 74 public static String getContentPrefix(HttpServletRequest request) { 75 StringBuffer buf = new StringBuffer (); 76 ContentUrlTag.appendContentPrefix(request, buf); 77 return buf.toString(); 78 } 79 80 public int doEndTag() throws JspException { 81 HttpServletRequest request = (HttpServletRequest ) pageContext.getRequest(); 82 83 BodyContent body = getBodyContent(); 84 String bodyString = body.getString(); 85 86 StringBuffer newURL = new StringBuffer (); 87 88 appendContentPrefix(request, newURL); 89 newURL.append(bodyString); 90 body.clearBody(); 91 92 try { 93 getPreviousOut().print(newURL.toString()); 94 } catch (IOException e) { 95 if (UtilJ2eeCompat.useNestedJspException(pageContext.getServletContext())) { 96 throw new JspException (e.getMessage(), e); 97 } else { 98 Debug.logError(e, "Server does not support nested exceptions, here is the exception", module); 99 throw new JspException (e.toString()); 100 } 101 } 102 return SKIP_BODY; 103 } 104 } 105 | Popular Tags |