⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstractvuitag.java

📁 webwork source
💻 JAVA
字号:
/* * WebWork, Web Application Framework * * Distributable under Apache license. * See terms of license at opensource.org */package webwork.view.taglib.vui;import org.apache.commons.logging.*;import webwork.config.Configuration;import webwork.util.ContainUtil;import webwork.view.taglib.IncludeTag;import webwork.view.taglib.ParamTag;import webwork.view.taglib.WebWorkBodyTagSupport;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpServletRequest;import javax.servlet.jsp.JspWriter;import javax.servlet.jsp.JspException;import javax.servlet.jsp.JspTagException;import java.util.HashMap;import java.util.Map;import java.io.IOException;/** * Abstract VUI tag * * @author Jeff Haynie (jhaynie@vocalocity.net) * @version $Revision: 1.3 $ */public abstract class AbstractVUITag      extends WebWorkBodyTagSupport      implements ParamTag.Parametric {   // Attributes ----------------------------------------------------   private static Log log = LogFactory.getLog(AbstractVUITag.class);   protected String themeAttr;   protected String theme;   protected String templateHeaderAttr;   protected String templateFooterAttr;   protected Map params = new HashMap();   // Public --------------------------------------------------------   public abstract String getHeaderTemplate();   public abstract String getFooterTemplate();   public String getTheme() {      // If theme set is not explicitly given,      // try to find attribute which states the theme set to use      if ((theme == null) || (theme == "")) {         theme = (String) pageContext.findAttribute("theme");      }      // Default template set      if ((theme == null) || (theme == "")) {         theme = Configuration.getString("webwork.ui.theme");      }      return theme;   }   public void setTheme(String aName) {      themeAttr = aName;   }   public void setTemplateHeader(String aName) {      templateHeaderAttr = aName;   }   public void setTemplateFooter(String aName) {      templateFooterAttr = aName;   }   public void addParameter(String name, Object value) {      addParameterInternal(name, value);   }   private void addParameterInternal(String name, Object value) {      params.put(name, value);   }   public Map getParameters() {      return params;   }   public boolean memberOf(Object obj1, Object obj2) {      return ContainUtil.contains(obj1, obj2);   }   protected void getSetParameter(String a, String n)   {        if (a!=null)        {           Object value = findValue(a);           if (value!=null)           {              addParameterInternal(n,value);           }        }   }   protected abstract void initializeAttributes();   // FieldTag overrides ------------------------------------------   public int doStartTag()   {      if (themeAttr != null)         theme = (String) findValue(themeAttr);      initializeAttributes();      getStack().pushValue(this);      try      {         // header         String template = templateHeaderAttr;         if (template == null)            template = getHeaderTemplate();         IncludeTag.include(getTemplateDirectory() + template, pageContext);      }      catch (Exception ex)      {         ex.printStackTrace();         return SKIP_BODY;      }      finally      {         getStack().popValue();      }      return EVAL_BODY_INCLUDE;   }   public int doAfterBody() throws JspException {      if (bodyContent != null) {         try {            JspWriter out =  getPreviousOut();            out.print(bodyContent.getString());            bodyContent.clearBody();         } catch (Exception ex) {            ex.printStackTrace();            throw new JspTagException("Exception:: "+toString(ex));         }         return (EVAL_BODY_BUFFERED);      }      return (SKIP_BODY);   }   public int doEndTag()         throws JspException   {      if (themeAttr != null)         theme = (String) findValue(themeAttr);      getStack().pushValue(this);      try      {         // footer         String template = templateFooterAttr;         if (template == null)            template = getFooterTemplate();         IncludeTag.include(getTemplateDirectory() + template, pageContext);      }      catch (Exception ex)      {         ex.printStackTrace();         throw new JspTagException("Exception including footer: "+toString(ex));      } finally {         getStack().popValue();         params = new HashMap();      }      return EVAL_PAGE;   }   public String getBrowserUserAgent ()   {      HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();      String ua = request.getHeader("User-Agent");      if (ua==null)      {         ua=request.getHeader("user-agent");      }      return (ua==null ? "": ua);   }   /**    * get the template directory for a specific voice browser    */   protected String getTemplateDirectory ()   {      String ua = getBrowserUserAgent();      return BrowserSupport.getBrowserTemplateDirectory(ua);   }   protected String constructURL (String value)   {      // this was taken from URLTag      HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();      HttpServletResponse response = (HttpServletResponse) pageContext.getResponse();      StringBuffer link = new StringBuffer();      if (value != null) {         // Check if context path needs to be added         // Add path to absolute links         if (value.startsWith("/")) {            link.append(request.getContextPath());         }         // Add page         link.append(value);      } else {         // Go to "same page"         String requestURI = (String) request.getAttribute("webwork.request_uri");//         String contextPath=(String)request.getAttribute("webwork.context_path");         if (requestURI == null) requestURI = request.getRequestURI();//         if(contextPath==null) contextPath=request.getContextPath();         link.append(requestURI);      }      String result;      try {         //Category.getInstance(this.getClass().getName()).debug(link.toString());         result = response.encodeURL(link.toString());      } catch (Exception e) {         // Could not encode URL for some reason         // Use it unchanged         result = link.toString();      }      return result;   }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -