1 package org.gnomekr.potron.web.tag; 2 3 import javax.servlet.http.HttpServletRequest; 4 import javax.servlet.jsp.JspException; 5 import javax.servlet.jsp.JspWriter; 6 import javax.servlet.jsp.tagext.TagSupport; 7 8 import org.apache.commons.logging.Log; 9 import org.apache.commons.logging.LogFactory; 10 11 /*** 12 * BaseTag.java 13 * @author Xavier Cho 14 * @version $Revision 1.1 $ $Date: 2005/07/07 15:20:15 $ 15 * @jsp:tag 16 * name="base" 17 * body-content="empty" 18 */ 19 public class BaseTag extends TagSupport { 20 21 private static final long serialVersionUID = 3691043187980775476L; 22 23 /*** 24 * @see javax.servlet.jsp.tagext.Tag#doStartTag() 25 */ 26 public int doStartTag() throws JspException { 27 try { 28 HttpServletRequest request = (HttpServletRequest) pageContext 29 .getRequest(); 30 String url = request.getRequestURL().toString(); 31 url = url.substring(0, url.length() 32 - request.getRequestURI().length() 33 + request.getContextPath().length()); 34 35 JspWriter out = pageContext.getOut(); 36 out.print("<base href=\""); 37 out.print(url); 38 out.print("/\"/>"); 39 } catch (Exception e) { 40 String msg = "Unable to write tag content : " + e.getMessage(); 41 42 Log log = LogFactory.getLog(getClass()); 43 if (log.isErrorEnabled()) { 44 log.error(msg, e); 45 } 46 47 throw new JspException(msg); 48 } finally { 49 release(); 50 } 51 52 return SKIP_BODY; 53 } 54 }