Struts2中的HttpServletRequest request=ServletActionContext.getRequest()报空指针异常

Struts2中的HttpServletRequest request=ServletActionContext.getRequest()报空指针异常

图片说明

图片说明

你这都没有Struts2的配置文件。你应该没有配置好的原因吧。或者注入出错。

我好像看出来你错在哪了。你是些的一个工具类对吧?在工具类里面写了这句代码:HttpServletRequest request=ServletActionContext.getRequest(),是吧?这不出错才怪了哟,兄弟。
第一:在Struts2中获取request必须是在action里面获取的,因为request是请求上下文,没有外部请求,是没有上下文的!如果写在工具类里面进行直接获取,是获取不到容器的请求上下文的;
解决方法:如果你在工具类里面需要request,比如说sendPhone()方法,可以作为一个参数传递进去:sendPhone(HttpServletRequest request),然后在action 里面进行调用sendPhone()方法。