📄 iteratorgeneratortag.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: IteratorGeneratorTag.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.IteratorGenerator;
import org.apache.struts2.views.jsp.StrutsBodyTagSupport;
public class IteratorGeneratorTag extends StrutsBodyTagSupport
{
private static final long serialVersionUID = 0x29309631e43dc430L;
public static final String DEFAULT_SEPARATOR = ",";
private static final Log _log = LogFactory.getLog(org/apache/struts2/views/jsp/iterator/IteratorGeneratorTag);
String countAttr;
String separatorAttr;
String valueAttr;
String converterAttr;
IteratorGenerator iteratorGenerator;
public IteratorGeneratorTag()
{
iteratorGenerator = null;
}
public void setCount(String count)
{
countAttr = count;
}
public void setSeparator(String separator)
{
separatorAttr = separator;
}
public void setVal(String val)
{
valueAttr = val;
}
public void setConverter(String aConverter)
{
converterAttr = aConverter;
}
public void setId(String string)
{
super.setId(string);
}
public int doStartTag()
throws JspException
{
Object value = findValue(valueAttr);
String separator = ",";
if (separatorAttr != null && separatorAttr.length() > 0)
separator = findString(separatorAttr);
int count = 0;
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);
}
}
org.apache.struts2.util.IteratorGenerator.Converter converter = null;
if (converterAttr != null && converterAttr.length() > 0)
converter = (org.apache.struts2.util.IteratorGenerator.Converter)findValue(converterAttr);
iteratorGenerator = new IteratorGenerator();
iteratorGenerator.setValues(value);
iteratorGenerator.setCount(count);
iteratorGenerator.setSeparator(separator);
iteratorGenerator.setConverter(converter);
iteratorGenerator.execute();
getStack().push(iteratorGenerator);
if (getId() != null && getId().length() > 0)
pageContext.setAttribute(getId(), iteratorGenerator);
return 1;
}
public int doEndTag()
throws JspException
{
getStack().pop();
iteratorGenerator = null;
return 6;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -