package com.rlovep.ognl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.util.ValueStack;
public class OgnlAction extends ActionSupport{
//属性也是map根元素
private User user = new User(29, "peace");
private String text="peace";
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
@Override
public String execute() throws Exception {
ActionContext ac=ActionContext.getContext();
// 映射数据
ac.getContextMap().put("request_data", "request_data");
ac.getSession().put("session_data", "Session_data");
ac.getApplication().put("application_data", "Application_data");
//值栈对象存储
ValueStack valueStack = ac.getValueStack();//值栈也是存储在request的域对象
//ValueStack vs1 = (ValueStack) request.getAttribute("struts.valueStack");
//操作根元素:压入栈顶元素,栈顶元素可以直接操作属性
valueStack.push(new User(23,"peace2"));
//valueStack.push("user");
//存储一个map根元素
valueStack.set("user1", new User(23,"peace3"));
valueStack.set("user2", new User(23,"peace4"));
// 测试迭代标签
List<User> list = new ArrayList<User>();
Map<Integer, User> map = new HashMap<Integer, User>();
// 初始化
for (int i = 1; i < 11; i++) {
User user = new User(i, "Jack" + i);
list.add(user);
map.put(user.getId(), user);
}
// 保存
ActionContext.getContext().getContextMap().put("list", list);
ActionContext.getContext().getContextMap().put("map", map);
return SUCCESS;
}
}