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

📄 blockurltag.java

📁 jGossip是一个简单而功能强大的Java论坛软件(消息板)
💻 JAVA
字号:
/*
 * Created on Oct 6, 2003
 *
  */
package org.jresearch.gossip.tags;

import java.util.Enumeration;

import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jresearch.gossip.IConst;
import org.jresearch.gossip.list.RecordsData;


/**
 * DOCUMENT ME!
 *
 * @author Bel
 */
public class BlockUrlTag extends TagSupport {

	/**
	 * Logger instance.
	 */
	private static final Log LOG = LogFactory.getLog(BlockOptionsTag.class);

    private int block;
    private int increase;

    /**
     * DOCUMENT ME!
     *
     * @return DOCUMENT ME!
     *
     * @throws JspException DOCUMENT ME!
     */
    public int doStartTag() throws JspException {
        try {
            ServletRequest req = pageContext.getRequest();
			HttpServletResponse response = (HttpServletResponse) pageContext.getResponse();
            Enumeration pnames = req.getParameterNames();
            StringBuffer url = new StringBuffer((String) req.getAttribute(
                        IConst.REQUEST.REQUEST_URI) + "?");

            this.block = ((RecordsData) req.getAttribute(IConst.REQUEST.RECORDS_DATA)).getCurrBlock();

            while (pnames.hasMoreElements()) {
                String name = (String) pnames.nextElement();
                url.append(name);
                url.append("=");

                if (name.equals("block")) {
                    url.append(this.block +
                        (this.increase * ((RecordsData) req.getAttribute(
                            IConst.REQUEST.RECORDS_DATA)).getBlockSize()));
                } else {
                    url.append(req.getParameter(name));
                }

                if (pnames.hasMoreElements()) {
                    url.append("&");
                }
            }

            if (req.getParameter("block") == null) {
                url.append("&block=");
                url.append(this.block +
                    (this.increase * ((RecordsData) req.getAttribute(
                        IConst.REQUEST.RECORDS_DATA)).getBlockSize()));
            }

            JspWriter out = pageContext.getOut();
            out.print(response.encodeURL(url.toString()));
        } catch (Exception ex) {
			if(LOG.isErrorEnabled())
			{
				LOG.error("BlockOptionsTag::", ex);
			}
            throw new JspException("error in BlockUrlTag tag:", ex);
        }

        return (SKIP_BODY);
    }

    /**
     * DOCUMENT ME!
     *
     * @return
     */
    public int getBlock() {
        return this.block;
    }

    /**
     * DOCUMENT ME!
     *
     * @param i
     */
    public void setBlock(int i) {
        this.block = i;
    }

    /**
     * DOCUMENT ME!
     *
     * @return
     */
    public int getIncrease() {
        return this.increase;
    }

    /**
     * DOCUMENT ME!
     *
     * @param i
     */
    public void setIncrease(int i) {
        this.increase = (i > 0) ? 1 : (-1);
    }
}

⌨️ 快捷键说明

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