useragentchecktag.java

来自「这是linux下ssl vpn的实现程序」· Java 代码 · 共 60 行

JAVA
60
字号
package com.sslexplorer.core.tags;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.BodyTagSupport;

public class UserAgentCheckTag extends BodyTagSupport {

    private int versionIE = 5;
    private PageContext pc;
    private boolean required = true;

    public UserAgentCheckTag() {
        super();
    }

    public void setPageContext(PageContext pc) {
        this.pc = pc;
    }

    public int doStartTag() {

        String userAgent = ((HttpServletRequest) pc.getRequest()).getHeader("user-agent");
        int version = 0;
        if (userAgent.indexOf("MSIE 2") > 0)
            version = 2;
        if (userAgent.indexOf("MSIE 3") > 0)
            version = 3;
        if (userAgent.indexOf("MSIE 4") > 0)
            version = 4;
        if (userAgent.indexOf("MSIE 5") > 0)
            version = 5;
        if (userAgent.indexOf("MSIE 6") > 0)
            version = 6;
        if (userAgent.indexOf("MSIE 7") > 0)
            version = 7;

        return versionIE > version ? (required ? SKIP_BODY : EVAL_BODY_INCLUDE) : (required ? EVAL_BODY_INCLUDE : SKIP_BODY);
    }

    public int getVersionIE() {
        return versionIE;
    }

    public void setVersionIE(int versionIE) {
        this.versionIE = versionIE;
    }

    public void setRequired(boolean required) {
        this.required = required;
    }

    public void release() {
        super.release();
        versionIE = 5;
        required = true;
    }

}

⌨️ 快捷键说明

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