📄 blockurltag.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 + -