最近我将我的struts2版本从2.0.11更新为当前的2.2.3。 不幸的是,我现在有一些奇怪的问题,到目前为止我无法解决。
当我尝试获取ActionContext时:
ActionContext context = ActionContext.getContext();
System.out.println("context: " + context);
上下文现在为空!这里奇怪的是,基于API所说的,它不能为null - > getContext API desc
这似乎不是一个常见的问题,因为我没有通过谷歌找到一个类似的案例。 由于我在更新struts2版本后遇到问题,我试图交换不同的库,但我没有更进一步。 因此,我希望你们中的某个人可以帮助我!
我没有更多想法可以尝试解决这个问题。
问候 奥兹
EDIT1:
你好umesh awasthi! 是的,它在以前的版本中工作了很长时间。遗憾的是,日志文件并没有告诉我什么。当我尝试访问ActionContext.getContext()时,只发生NullpointerException;对象
这是我使用它的一个代码示例
public CharServiceImpl(){
ActionContext context = ActionContext.getContext();
//currently it crashes here since the context variable is null
Map<String,Object> appCon = context.getApplication();
if (appCon != null){
charIdsToUpdate = (ArrayList<Integer>) appCon.get("charIdsToUpdate");
}
}
@Steven Benitez: 我正在使用FilterDispatcher(但是,我必须承认我甚至不知道有不同的......)
顺便说一句:我尝试在最后几天通过堆栈交换登录函数登录“。我只获得3个”运行点“但不是一个公式的日志?! 现在我使用了我的gmail帐户,这不是我真正想要做的,但我不想让你等待我的反应。
答案 0 :(得分:0)
尝试使用ServletActionContext创建ActionContext
class Abc implements ServletRequestAware
{
HttpServletRequest request;
public CharServiceImpl()
{
ActionContext actionContext = ServletActionContext.getActionContext();
}
public void setServletRequest(HttpServletRequest request)
{
this.request = request;
}
public HttpServletRequest getServletRequest()
{
return this.request;
}
}