1
2
3 package com.pnpconsult.zeiterfassung.tags;
4
5 import javax.servlet.http.HttpServletRequest;
6 import javax.servlet.jsp.JspException;
7 import javax.servlet.jsp.tagext.TagSupport;
8
9 import org.apache.struts.util.ResponseUtils;
10
11 /***
12 * Renders a <tt><base href="..."/></tt> tag. In contrast to the
13 * <tt><html:base></tt> tag, this tag renders the url including the webapp
14 * path, beginning with the protocol, but not including the servlet path:
15 * <p>
16 * <pre>
17 * <pnptime:base/>
18 * </pre>
19 * <p>
20 * renders
21 * </p>
22 * <pre>
23 * <base href="http://localhost:8080/pnptime/"/>
24 * </pre>
25 *
26 * @author <a href="mailto:powerpete@users.sf.net">M. Petersen</a>
27 * @version $Id: BaseTag.java,v 1.2 2004/05/23 16:59:41 powerpete Exp $
28 *
29 * @jsp.tag name="base"
30 */
31 public class BaseTag extends TagSupport
32 {
33 /***
34 * @see javax.servlet.jsp.tagext.Tag#doStartTag()
35 */
36 public int doStartTag() throws JspException
37 {
38 HttpServletRequest request =
39 (HttpServletRequest) super.pageContext.getRequest();
40 StringBuffer html = new StringBuffer();
41 html.append(
42 "<base href=\"http://"
43 + request.getServerName()
44 + ":"
45 + request.getServerPort()
46 + request.getContextPath()
47 + "/\"/>");
48 ResponseUtils.write(pageContext, html.toString());
49 return EVAL_PAGE;
50 }
51 }