📄 sortiteratortag.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: SortIteratorTag.java
package org.apache.struts2.views.jsp.iterator;
import com.opensymphony.xwork2.util.ValueStack;
import java.util.Comparator;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import org.apache.struts2.util.MakeIterator;
import org.apache.struts2.util.SortIteratorFilter;
import org.apache.struts2.views.jsp.StrutsBodyTagSupport;
public class SortIteratorTag extends StrutsBodyTagSupport
{
private static final long serialVersionUID = 0x9341ee87c472e6b5L;
String comparatorAttr;
String sourceAttr;
SortIteratorFilter sortIteratorFilter;
public SortIteratorTag()
{
sortIteratorFilter = null;
}
public void setComparator(String comparator)
{
comparatorAttr = comparator;
}
public void setSource(String source)
{
sourceAttr = source;
}
public int doStartTag()
throws JspException
{
Object srcToSort;
if (sourceAttr == null)
srcToSort = findValue("top");
else
srcToSort = findValue(sourceAttr);
if (!MakeIterator.isIterable(srcToSort))
throw new JspException((new StringBuilder()).append("source [").append(srcToSort).append("] is not iteratable").toString());
Object comparatorObj = findValue(comparatorAttr);
if (!(comparatorObj instanceof Comparator))
throw new JspException((new StringBuilder()).append("comparator [").append(comparatorObj).append("] does not implements Comparator interface").toString());
Comparator c = (Comparator)findValue(comparatorAttr);
sortIteratorFilter = new SortIteratorFilter();
sortIteratorFilter.setComparator(c);
sortIteratorFilter.setSource(srcToSort);
sortIteratorFilter.execute();
getStack().push(sortIteratorFilter);
if (getId() != null && getId().length() > 0)
pageContext.setAttribute(getId(), sortIteratorFilter);
return 1;
}
public int doEndTag()
throws JspException
{
int returnVal = super.doEndTag();
getStack().pop();
sortIteratorFilter = null;
return returnVal;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -