Struts2之ActionContext的初始化时机错误 导致空指针
来源:互联网 发布:常州ug编程培训 编辑:程序博客网 时间:2024/05/17 06:45
@SuppressWarnings("serial")public abstract class AbstractParamAction extends ActionSupport{public ActionContext actionContext = ActionContext.getContext();public HttpServletRequest request = (HttpServletRequest) actionContext.get(ServletActionContext.HTTP_REQUEST);public HttpServletResponse response = (HttpServletResponse) actionContext.get(ServletActionContext.HTTP_RESPONSE);//public ServletContext application = (ServletContext)actionContext.getApplication();public HttpSession session = request.getSession();}
/** * */package com.wonders.stpt.marquee.action;import org.apache.struts2.convention.annotation.Action;import org.apache.struts2.convention.annotation.Namespace;import org.apache.struts2.convention.annotation.ParentPackage;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Controller;import com.wonders.stpt.innerWork.action.AbstractParamAction;import com.wonders.stpt.marquee.service.MarqueeService;import com.wonders.stpt.util.ActionWriter;/** * @ClassName: MarqueeAction * @Description: TODO(这里用一句话描述这个类的作用) * @author zhoushun * @date 2014年2月28日 下午1:58:40 * */@ParentPackage("struts-default")@Namespace(value="/marquee")@Controller("marqueeAction")@Scope("prototype")public class MarqueeAction extends AbstractParamAction{/** * */private static final long serialVersionUID = 4787537184825647031L;private ActionWriter aw = new ActionWriter(response);private MarqueeService service;public MarqueeService getService() {return service;}@Autowired(required=false)public void setService(@Qualifier("marqueeService")MarqueeService service) {this.service = service;}@Action(value="getMarquee")public String getMarquee(){aw.writeJson(this.service.getMsg());return null;}}
原来 action 中 使用的都是 多例模式,每次初始化action都是在 一个请求发起后,故actionContext 中均有 request,response等值。
但改为单例模式后,自动在spring加载时初始化,此时actionContext中,由于未发生用户请求,request,response 均为空。
若要使用单例模式,就只能在具体方法中获得request等其他对象。
0 0
- Struts2之ActionContext的初始化时机错误 导致空指针
- 复合主键导致的空指针错误
- 复合主键导致的空指针错误
- Struts2之ActionContext在Action类中的初始化问题
- Struts2之ActionContext理解
- 空指针,指针初始化
- Struts2的 ActionContext && ServletActionContext
- struts2的ActionContext
- Struts2的 ActionContext && ServletActionContext
- Struts2的 ActionContext && ServletActionContext
- Struts2的ActionContext
- struts2的ActionContext
- 智能指针之使用空指针错误
- properties导致空指针的问题
- WebView loadurl导致的空指针问题
- 依赖注入导致的空指针异常
- 类的初始化时机
- 类的初始化时机
- http响应码
- 给按钮添加一个链接
- Android源码下载和编译
- 掌上电脑
- 图像插值算法
- Struts2之ActionContext的初始化时机错误 导致空指针
- 用js把String转为DOM对象
- jquery.validate+jquery.form提交的三种方式
- asp.net2.0如何加密数据库联接字符串
- js控制顶部菜单选中脚本
- 平板电脑
- VM下安装Linux的MySQL版本
- 整数对的个数
- 隐形的翅膀 北大校长 唱