最近我将我的 struts2 版本从 2.0.11 更新到了当前的 2.2.3。
不幸的是,我现在有一些奇怪的问题,到目前为止我无法解决。
当我尝试获取 ActionContext 时:
ActionContext context = ActionContext.getContext();
System.out.println("context: " + context);
上下文现在为空!这里奇怪的是,根据 API 的说法,它不能为 null -> getContext API desc
这似乎不是一个常见问题,因为我没有通过 google 找到类似的案例。
由于刚好是更新struts2版本后出现问题,我尝试换了不同的库,但没有更进一步。
因此,我希望你们中的某个人可以帮助我!
我没有更多的想法我可以尝试解决这个问题。
问候
奥茨
.
编辑1:
你好 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");
}
}
@史蒂文贝尼特斯:
我正在使用 FilterDispatcher (但是,我不得不承认我什至不知道有不同的......)
顺便说一句:我在最后几天尝试通过堆栈交换登录功能登录”。我只得到 3 个“运行点”但没有登录公式?!
现在我用我的gmail帐户来做它,这不是我真正想做的,但我不想让你等待我的 react 。
最佳答案
尝试使用 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;
}
}
关于struts2: ActionContext.getContext();返回空值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7300739/