paginationmenutag.java
来自「开源项目CRM之OpenCustomer」· Java 代码 · 共 137 行
JAVA
137 行
/*******************************************************************************
* ***** BEGIN LICENSE BLOCK Version: MPL 1.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
*
* The Original Code is the OpenCustomer CRM.
*
* The Initial Developer of the Original Code is Thomas Bader (Bader & Jene
* Software-Ingenieurb黵o). Portions created by the Initial Developer are
* Copyright (C) 2005 the Initial Developer. All Rights Reserved.
*
* Contributor(s): Thomas Bader <thomas.bader@bader-jene.de>
*
* ***** END LICENSE BLOCK *****
*/
package org.opencustomer.web.taglib;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.TagSupport;
import org.apache.struts.taglib.TagUtils;
import org.apache.struts.taglib.html.Constants;
import org.opencustomer.web.util.ScrollBean;
public final class PaginationMenuTag extends TagSupport
{
private static final long serialVersionUID = 3544387011285628472L;
private String paramId = "page";
private String name;
private String scope;
private String styleClass;
public int doEndTag() throws JspException
{
StringBuffer results = new StringBuffer();
// ist dieses Tag in einem Formular?
if (pageContext.getAttribute(Constants.FORM_KEY, PageContext.REQUEST_SCOPE) == null)
throw new JspException("element only allowed in forms");
ScrollBean bean = (ScrollBean) TagUtils.getInstance().lookup(pageContext, name, scope);
int pages = 0;
int pageNr = 0;
if (bean != null)
{
pages = bean.getCount() / bean.getPage().getStep();
if ((bean.getCount() % bean.getPage().getStep()) > 0)
pages++;
pageNr = bean.getPage().getPage();
}
if (pages > 1)
{
for (int i = 1; i <= pages; i++)
{
results.append("<input type=\"submit\"");
results.append(" name=\"");
results.append(paramId);
results.append("\"");
if (i == pageNr)
results.append(" disabled=\"disabled\"");
if (styleClass != null)
results.append(" class=\"").append(styleClass).append("\"");
results.append(" value=\"");
results.append(i);
results.append("\"/>");
}
}
else
results.append("<!-- only one page / do not show -->");
TagUtils.getInstance().write(pageContext, results.toString());
release();
return EVAL_PAGE;
}
public final String getName()
{
return name;
}
public final void setName(String name)
{
this.name = name;
}
public final String getScope()
{
return scope;
}
public final void setScope(String scope)
{
this.scope = scope;
}
public final String getParamId()
{
return paramId;
}
public final void setParamId(String paramId)
{
this.paramId = paramId;
}
public final String getStyleClass()
{
return styleClass;
}
public final void setStyleClass(String styleClass)
{
this.styleClass = styleClass;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?