struts2: ActionContext.getContext ();возвращает ноль - PullRequest
4 голосов
/ 04 сентября 2011

недавно я обновил свою версию struts2 с 2.0.11 до текущей версии 2.2.3.К сожалению, у меня сейчас есть любопытные проблемы, которые я до сих пор не смог решить.

Когда я пытаюсь получить ActionContext:

ActionContext context = ActionContext.getContext();  
System.out.println("context: " + context);

Контекст теперь нулевой!Любопытно, что в зависимости от того, что говорит API, он не может быть нулевым -> getContext API desc

Кажется, это не является общей проблемой, так как я этого не делалнайти один подобный случай через Google.Так как после обновления версии struts2 у меня возникла проблема, я попытался обменяться различными библиотеками, но я не продвинулся дальше.Поэтому я надеюсь, что кто-то из вас может помочь мне!

У меня нет больше идей, что я могу попытаться решить эту проблему.

Привет oetzi

.

РЕДАКТИРОВАТЬ1:

Привет, Умеш!да, он работал довольно долго с предыдущей версией.Файл журнала, к сожалению, не сказал мне много.Только то, что NullpointerException происходит, когда я пытаюсь получить доступ к ActionContext.getContext ();object.

Это один пример кода, в котором я его использую

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, чего я на самом деле не хотел, но я не хотел заставлять вас ждать моей реакции.

1 Ответ

0 голосов
/ 17 апреля 2015

Попробуйте создать ActionContext, используя ServletActionContext

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;
    }
}
...