📄 iteratorcomponent.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: IteratorComponent.java
package org.apache.struts2.components;
import com.opensymphony.xwork2.util.ValueStack;
import java.io.Writer;
import java.util.Iterator;
import java.util.Map;
import org.apache.struts2.util.MakeIterator;
import org.apache.struts2.views.jsp.IteratorStatus;
// Referenced classes of package org.apache.struts2.components:
// Component
public class IteratorComponent extends Component
{
protected Iterator iterator;
protected IteratorStatus status;
protected Object oldStatus;
protected org.apache.struts2.views.jsp.IteratorStatus.StatusState statusState;
protected String statusAttr;
protected String value;
public IteratorComponent(ValueStack stack)
{
super(stack);
}
public boolean start(Writer writer)
{
if (statusAttr != null)
{
statusState = new org.apache.struts2.views.jsp.IteratorStatus.StatusState();
status = new IteratorStatus(statusState);
}
ValueStack stack = getStack();
if (value == null)
value = "top";
iterator = MakeIterator.convert(findValue(value));
if (iterator != null && iterator.hasNext())
{
Object currentValue = iterator.next();
stack.push(currentValue);
String id = getId();
if (id != null && currentValue != null)
stack.getContext().put(id, currentValue);
if (statusAttr != null)
{
statusState.setLast(!iterator.hasNext());
oldStatus = stack.getContext().get(statusAttr);
stack.getContext().put(statusAttr, status);
}
return true;
} else
{
super.end(writer, "");
return false;
}
}
public boolean end(Writer writer, String body)
{
ValueStack stack = getStack();
if (iterator != null)
stack.pop();
if (iterator != null && iterator.hasNext())
{
Object currentValue = iterator.next();
stack.push(currentValue);
String id = getId();
if (id != null && currentValue != null)
stack.getContext().put(id, currentValue);
if (status != null)
{
statusState.next();
statusState.setLast(!iterator.hasNext());
}
return true;
}
if (status != null)
if (oldStatus == null)
stack.getContext().put(statusAttr, null);
else
stack.getContext().put(statusAttr, oldStatus);
super.end(writer, "");
return false;
}
public void setStatus(String status)
{
statusAttr = status;
}
public void setValue(String value)
{
this.value = value;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -