struts.xml中
<action name="valueStackDemo1" class="cn.whut.action.ValueStackDemoAction">
<result name="success">/valueStack.jsp</result>
</action>
jsp文件中:
<!-- 使用struts2标签查看值栈结构 -->
<s:debug></s:debug>
第一种 获取值栈对象,调用值栈对象里面的 set 方法。
//1 获取值栈对象
ActionContext context = ActionContext.getContext();
ValueStack stack = context.getValueStack();
//2 调用方法set方法
stack.set("key", "value");
栈顶变成java.util.HashMap
第二种 获取值栈对象,调用值栈对象里面的 push方法。
//1 获取值栈对象
ActionContext context = ActionContext.getContext();
ValueStack stack = context.getValueStack();
//2 调用方法set方法
//stack.set("key", "value");
//3 调用方法push方法
stack.push("abcd");
栈顶变成java.util.String
第三种 在action定义变量,生成变量的get方法。(一般用这种方法)
好处:name值 在ValueStackDemoAction类中,减少空间分配。
//1 定义变量
private String name;
// //2 生成变量的get方法
public String getName() {
return name;
}
@Override
public String execute() throws Exception {
//3 在执行的方法里面向变量设置值
// name = "abcdefgh";
}