Этот мой код, когда я его выполняю, показывает мне размер 3, но когда я выхожу из объекта, я получаю только 2 объекта. Пожалуйста, объясните мне, не делаю ли я это неправильно? , и я хочу знать, какие объекты хранятся в ValueStack
и как я могу получить эти объекты?Какие объекты хранятся в ValueStack
import java.util.*;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorldAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private String name;
public String execute() throws Exception {
ValueStack stack = ActionContext.getContext().getValueStack();
Map<String, Object> context = new HashMap<String, Object>();
context.put("key1", new String("This is key1"));
context.put("key2", new String("This is key2"));
context.put("key3", new String("This is key3"));
stack.push(context);
System.out.println("Size of the valueStack: " + stack.size());
for (int i = 0; i < stack.size(); i++) {
System.out.println(i + ": " + stack.pop().toString());
}
return "success";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Вы подталкивают ** один ** объект в стек значение: 'context': | –
yes im push только один объект, а другой объект в стеке значений - это объект действия, поэтому он означает, что есть только 2 объекта, поэтому размер стека значений должен быть 2, но он дает мне 3 в качестве размера объекта , вот о чем я беспокоюсь, я хочу знать, почему он показывает размер 3? –
Я голосую, чтобы закрыть этот вопрос как не по теме, потому что он раскрывает проблему [XY] (http://meta.stackexchange.com/q/66377/208138). –