simpletag.java

来自「一个免费wap站」· Java 代码 · 共 116 行

JAVA
116
字号
package com.eline.wap.catalog.taglib.wml;

import java.io.IOException;

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

import com.eline.wap.common.util.StringUtils;

public abstract class SimpleTag extends TagSupport {

	protected int pageSize;
	protected int pageIndex;

	protected int totalLength;
	protected int totalPages;

	protected boolean hasNext;
	protected boolean hasPrevious;
	
	protected Object item = null;
	
	protected String prefix = null;

	public SimpleTag() {
		pageSize = -1;
		pageIndex = 0;
		totalLength = 0;
		totalPages = 0;
		hasNext = true;
		hasPrevious = false;
	}

	public int doStartTag() throws JspException {
		if (pageSize < 0)
			throw new JspTagException("SimpleTag: pageSize out of bound.");
		if (pageIndex < 0)
			throw new JspTagException("SimpleTag: pageIndex out of bound.");
		
		pageIndex = StringUtils.getInt(pageContext.getRequest().getParameter(prefix + "pageIndex"), 0);


		hasPrevious = pageIndex > 0 ? true : false;

		try {
			item = findItem();
		} catch (Exception e) {
			writeErrorBody(e.getMessage());
			return SKIP_BODY;
		}
		return EVAL_BODY_INCLUDE;
	}

	private void writeErrorBody(String message) {
		JspWriter out = pageContext.getOut();
		try {
			out.println("<b>Sorry, Error occures!</b><br/>");
			if (message != null && message.length() > 0)
				out.println("message: " + message);
		} catch (IOException e) {}
	}

	public int doEndTag() throws JspException {
		// TODO Auto-generated method stub
		return super.doEndTag();
	}

	protected abstract Object findItem() throws Exception;

	public boolean hasNext() {
		return hasNext;
	}

	public boolean hasPrevious() {
		return hasPrevious;
	}

	public Object getItem() {
		return item;
	}

	public void setPageIndex(int pageIndex) {
		this.pageIndex = pageIndex;
	}

	public int getPageIndex() {
		return pageIndex;
	}

	public int getPageSize() {
		return pageSize;
	}

	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}

	public int getTotalLength() {
		return totalLength;
	}

	public void setTotalLength(int totalLength) {
		this.totalLength = totalLength;
	}

	public int getTotalPages() {
		return totalPages;
	}

	public void setTotalPages(int totalPages) {
		this.totalPages = totalPages;
	}
}

⌨️ 快捷键说明

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