buildtimetag.java

来自「jGossip是一个简单而功能强大的Java论坛软件(消息板)」· Java 代码 · 共 70 行

JAVA
70
字号
/*
 * Created on 09.05.2003
 *
 */
package org.jresearch.gossip.tags;

import org.jresearch.gossip.IConst;

import java.text.DecimalFormat;

import java.util.Date;

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


/**
 * DOCUMENT ME!
 *
 * @author Bel
 */
public class BuildTimeTag extends TagSupport {
    /**
     * DOCUMENT ME!
     *
     * @return DOCUMENT ME!
     *
     * @throws JspException DOCUMENT ME!
     */
    public int doStartTag() throws JspException {
        try {
            if (pageContext.getRequest().getAttribute(IConst.REQUEST.START_TIME_KEY) == null) {
                pageContext.getRequest().setAttribute(IConst.REQUEST.START_TIME_KEY,
                    new Date());
            }
        } catch (Exception ex) {
            throw new JspException("error in BuildTimeTag tag:", ex);
        }

        return (EVAL_BODY_INCLUDE);
    }

    /**
     * DOCUMENT ME!
     *
     * @return DOCUMENT ME!
     *
     * @throws JspException DOCUMENT ME!
     */
    public int doEndTag() throws JspException {
        try {
            JspWriter out = pageContext.getOut();

            if (pageContext.getRequest().getAttribute(IConst.REQUEST.START_TIME_KEY) != null) {
                DecimalFormat df = new DecimalFormat();
                df.applyPattern("#0.00####");

                double buildtime = ((new Date()).getTime() -
                    ((Date) pageContext.getRequest().getAttribute(IConst.REQUEST.START_TIME_KEY)).getTime()) * 0.001;
                out.print(df.format(buildtime));
            }
        } catch (Exception ex) {
            throw new JspException("error in BuildTimeTag tag:", ex);
        }

        return (EVAL_PAGE);
    }
}

⌨️ 快捷键说明

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