httpparamtag.java

来自「一个使用struts+hibernate制作的Blog站点的源码」· Java 代码 · 共 61 行

JAVA
61
字号
/*
 * Created on 2004-2-19 By Liudong
 */
package jdlog.util.tags;

import java.lang.reflect.Constructor;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;

/**
 * 用户处于请求参数的标签库(直接生成指定类型的变量)
 * @author Liudong
 */
public class HttpParamTag extends TagSupport {
    
    String id = null;						//变量名称
    String type = String.class.getName();	//参数类型(默认是字符串类型)
    String name = null;						//参数名
    String value = null;					//如果没有指定参数则使用该缺省值,该类型必须具有一个带一个字符串参数的构造子

    public int doStartTag() throws JspException {
        try {
            Class cls = Class.forName(type);
            Constructor con = cls.getConstructor(new Class[] {String.class});
            String paramValue = pageContext.getRequest().getParameter(name);
            if(paramValue==null)
                paramValue = value;
            Object obj = con.newInstance(new Object[] {paramValue});
            pageContext.setAttribute(id, obj);
        }catch(Exception e) {
            throw new JspException(e);
        }
        return SKIP_BODY;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getValue() {
        return value;
    }
    public void setValue(String value) {
        this.value = value;
    }
}

⌨️ 快捷键说明

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