--------------------siwuxie095
获取值栈对象
在一个 Action 中获取值栈对象的方式共有两种
方式一:使用 ActionContext 对象获取值栈对象(常用)
@Override public String execute() throws Exception { // (1) 通过 ActionContext 类的静态方法获取 ActionContext 对象 ActionContext context=ActionContext.getContext(); // (2) 调用 ActionContext 对象的方法获取值栈对象 ValueStack stack=context.getValueStack(); return NONE; } |
方式二:使用 Request 对象获取值栈对象
@Override public String execute() throws Exception { // (1) 通过 ServletActionContext 类的静态方法获取 Request 对象 HttpServletRequest request=ServletActionContext.getRequest(); // (2) 调用 Request 对象的方法,并传入 ServletActionContext 类 // 的静态常量,获取值栈对象 ValueStack stack=(ValueStack) request .getAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY); return NONE; } |
验证:一个 Action 对象中有且仅有一个值栈对象
@Override public String execute() throws Exception { // (1) 通过 ActionContext 类的静态方法获取 ActionContext 对象 ActionContext context=ActionContext.getContext(); // (2) 调用 ActionContext 对象的方法获取值栈对象 ValueStack stack1=context.getValueStack(); ValueStack stack2=context.getValueStack(); System.out.println(stack1==stack2); return NONE; } |
【made by siwuxie095】