Fork me on GitHub

获取值栈对象

--------------------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】

posted on 2017-08-11 01:06  siwuxie095  阅读(267)  评论(0编辑  收藏  举报

导航