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

📄 lookupvaluebyparamcontext.java

📁 这是一个mvc模式
💻 JAVA
字号:
package jsp.tags.dapact.lookup;

import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.TagSupport;
import jsp.tags.dapact.conf.UserClassFactory;

/**
 * Title:        Data Aware Processing And Control Tags
 * Description:  Tag library for the processing and controlling the input and output of data.
 * Copyright:    LGPL (http://www.gnu.org/copyleft/lesser.html)
 * Compile Date: @compile_date@
 * @author Allen M Servedio
 * @amp_sign@version @VERSION@
 */

/**
 * Looks up the value by looking in the parameter list in the request, then the contexts.
 * @todo rewrite to make one parameter driven class that uses properties as default.
 */
public class LookupValueByParamContext extends LookupValueByParam
{
  /**
   * Default constructor...
   */
  public LookupValueByParamContext()
  {
  }

  /**
   * This function will be called by the tags when they want to lookup a general
   * non-String object - in this case, it returns the value of a HTTP request parameter
   * or if that is null it looks in the contexts (page, request, session, and then application [servlet]).
   *
   * @param key the key of the value to be saved.
   * @param value the value to be added - this will be overridden by what is returned by
   *   this function.
   * @param tag the tag that will be used to save the value.
   * @param pc the page context associated with the tag that is also a parameter. This
   *   will be used to search parameters and contexts (page, session, request, and servlet).
   *
   * @return the lookedup value or null if not found.
   */
  public Object lookupValue(String key, Object value, TagSupport tag, PageContext pc)
  {
    Object result = super.lookupValue(key, value, tag, pc);
    if (result == null)
    {
      if ((key != null) && (pc != null))
      {
        result = pc.findAttribute(key);
      }
    }
    return result;
  }

  /**
   * This function will be called by the tags when they want to lookup a string object
   * (most common case: storing attributes) - in this case, it returns the value of a HTTP request parameter
   * or if that is null it looks in the contexts (page, request, session, and then application [servlet]).
   *
   * @param key the key of the value to be saved.
   * @param value the value to be added - this will be overridden by what is returned by
   *   this function.
   * @param tag the tag that will be used to save the value.
   * @param pc the page context associated with the tag that is also a parameter. This
   *   will be used to search parameters and contexts (page, session, request, and servlet).
   *
   * @return the lookedup value.
   */
  public String lookupValue(String key, String value, TagSupport tag, PageContext pc)
  {
    String result = super.lookupValue(key, value, tag, pc);
    if (result == null)
    {
      if ((key != null) && (pc != null))
      {
        try
        {
          result = (String)pc.findAttribute(key);
        }
        catch (ClassCastException e)
        {
          // Catch this exception and log it and return null.
          UserClassFactory.getLogger().log("The lookup value for the following name is not a String: " + key, e);
        }
      }
    }
    return result;
  }
}

⌨️ 快捷键说明

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