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