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

📄 subsetiteratortag.java

📁 struts 2 核心包 的源码 有错误是难免的
💻 JAVA
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   SubsetIteratorTag.java

package org.apache.struts2.views.jsp.iterator;

import com.opensymphony.xwork2.util.ValueStack;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.util.SubsetIteratorFilter;
import org.apache.struts2.views.jsp.StrutsBodyTagSupport;

public class SubsetIteratorTag extends StrutsBodyTagSupport
{

	private static final long serialVersionUID = 0xa939f60ab903d8daL;
	private static final Log _log = LogFactory.getLog(org/apache/struts2/views/jsp/iterator/SubsetIteratorTag);
	String countAttr;
	String sourceAttr;
	String startAttr;
	String deciderAttr;
	SubsetIteratorFilter subsetIteratorFilter;

	public SubsetIteratorTag()
	{
		subsetIteratorFilter = null;
	}

	public void setCount(String count)
	{
		countAttr = count;
	}

	public void setSource(String source)
	{
		sourceAttr = source;
	}

	public void setStart(String start)
	{
		startAttr = start;
	}

	public void setDecider(String decider)
	{
		deciderAttr = decider;
	}

	public int doStartTag()
		throws JspException
	{
		Object source = null;
		if (sourceAttr == null || sourceAttr.length() == 0)
			source = findValue("top");
		else
			source = findValue(sourceAttr);
		int count = -1;
		if (countAttr != null && countAttr.length() > 0)
		{
			Object countObj = findValue(countAttr);
			if (countObj instanceof Integer)
				count = ((Integer)countObj).intValue();
			else
			if (countObj instanceof Float)
				count = ((Float)countObj).intValue();
			else
			if (countObj instanceof Long)
				count = ((Long)countObj).intValue();
			else
			if (countObj instanceof Double)
				count = ((Long)countObj).intValue();
			else
			if (countObj instanceof String)
				try
				{
					count = Integer.parseInt((String)countObj);
				}
				catch (NumberFormatException e)
				{
					_log.warn((new StringBuilder()).append("unable to convert count attribute [").append(countObj).append("] to number, ignore count attribute").toString(), e);
				}
		}
		int start = 0;
		if (startAttr != null && startAttr.length() > 0)
		{
			Object startObj = findValue(startAttr);
			if (startObj instanceof Integer)
				start = ((Integer)startObj).intValue();
			else
			if (startObj instanceof Float)
				start = ((Float)startObj).intValue();
			else
			if (startObj instanceof Long)
				start = ((Long)startObj).intValue();
			else
			if (startObj instanceof Double)
				start = ((Long)startObj).intValue();
			else
			if (startObj instanceof String)
				try
				{
					start = Integer.parseInt((String)startObj);
				}
				catch (NumberFormatException e)
				{
					_log.warn((new StringBuilder()).append("unable to convert count attribute [").append(startObj).append("] to number, ignore count attribute").toString(), e);
				}
		}
		org.apache.struts2.util.SubsetIteratorFilter.Decider decider = null;
		if (deciderAttr != null && deciderAttr.length() > 0)
		{
			Object deciderObj = findValue(deciderAttr);
			if (!(deciderObj instanceof org.apache.struts2.util.SubsetIteratorFilter.Decider))
				throw new JspException((new StringBuilder()).append("decider found from stack [").append(deciderObj).append("] does not implement ").append(org/apache/struts2/util/SubsetIteratorFilter$Decider).toString());
			decider = (org.apache.struts2.util.SubsetIteratorFilter.Decider)deciderObj;
		}
		subsetIteratorFilter = new SubsetIteratorFilter();
		subsetIteratorFilter.setCount(count);
		subsetIteratorFilter.setDecider(decider);
		subsetIteratorFilter.setSource(source);
		subsetIteratorFilter.setStart(start);
		subsetIteratorFilter.execute();
		getStack().push(subsetIteratorFilter);
		if (getId() != null)
			pageContext.setAttribute(getId(), subsetIteratorFilter);
		return 1;
	}

	public int doEndTag()
		throws JspException
	{
		getStack().pop();
		subsetIteratorFilter = null;
		return 6;
	}

}

⌨️ 快捷键说明

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