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

📄 extractpropertyparametertag.java

📁 OA典型例子
💻 JAVA
字号:
/*  * $Id: ExtractPropertyParameterTag.java,v 1.5 2001/10/23 21:47:57 gmurray Exp $
  * Copyright 2000 Sun Microsystems, Inc. All rights reserved.
  * Copyright 2000 Sun Microsystems, Inc. Tous droits r?erv?.
   */

package com.sure.taglibs.smart;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.BodyTagSupport;
import java.lang.reflect.Method;

/**  *  * This class is to be used with the ExtractProperty tag to specfiy parameters on
 * the method calls to the respective objects *  */

public class ExtractPropertyParameterTag extends BodyTagSupport {
	private String parameter = null;
	private String arg = null;
	private String id = null;
	private String scope = null;
	private String type = "java.lang.String";
	private String defaultValue = "";

	public ExtractPropertyParameterTag() {
	    super();
	}

	public void setParameter(String parameter){
	    this.parameter = parameter;
	}

	public void setScope(String scope) {
	    this.scope = scope;
	}

	public void setId(String id) {
	    this.id = id;
	}

	public void setType(String type) {
	    this.type = type;
	    if (type.toLowerCase().equals("string")) this.type = "java.lang.String";
	}

	public void setDefault(String defaultValue) {
	    this.defaultValue = defaultValue;
	}

	public void setArg(String arg) {
	    this.arg = arg;
	}
	public int doStartTag() throws JspTagException {
	    // add the parameter to the parameter list of the ExtractPropertyTag
	    ExtractPropertyTag parent = (ExtractPropertyTag) findAncestorWithClass(this, ExtractPropertyTag.class);
	    if (parameter == null && arg == null && id == null) {
		throw new JspTagException("ExtractPropertyParamterTag:  Either an arg, parameter, or (id and scope) must be specified.");
	    }
	    if (parameter != null && arg != null) {
		throw new JspTagException("ExtractPropertyParamterTag:  An arg and parameter cannot both be specified.");
	    }
	    if (parent == null)   {
		throw new JspTagException("ExtractPropertyParamterTag: ExtractPropertyParamterTag tag not inside items tag");
	    }        String theArg = null;
	    if (parameter != null) {
		theArg =  pageContext.getRequest().getParameter(parameter);
		if (theArg == null) theArg = defaultValue;
	    } else if (arg != null) {
		theArg = arg;
	    } else if (id != null) {
		// get the parameter from the scope
		if (scope == null) {
		    throw new JspTagException("ExtractPropertyParamterTag: A scope must be set with the attribute id");
		}
		// XXXX make capable of doing more than strings later
		if (scope.toLowerCase().equals("request")) {
		    theArg = (String)pageContext.getRequest().getAttribute(id);
		} else if (scope.toLowerCase().equals("session")) {
		    theArg = (String)pageContext.getSession().getAttribute(id);
		} else if (scope.toLowerCase().equals("page")) {
		    theArg = (String)pageContext.getAttribute(id);
		}
	    }
            parent.addParameter(theArg, type);
	    return EVAL_BODY_BUFFERED;
	}
}

⌨️ 快捷键说明

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