Apache тайлы 3 - как получить доступ к области сеанса

Я хотел бы использовать ViewPreparer для изменения меню макета, в зависимости от объема сеанса. Я не знаю, как получить доступ к области сеанса. Внутри средства подготовки представления я реализую такой метод:

public void execute(Request tilesContext, AttributeContext attributeContext)

Я потратил много времени, пытаясь получить доступ к сессии без успеха. Единственная вещь, связанная с сеансом, к которой мне удалось получить доступ, tilesContext.getAvailableScopes(), Любая помощь приветствуется.

2 ответа

Пожалуйста попробуйте это:

public void execute(Request tilesContext, AttributeContext attributeContext){

HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();

HttpSession session = request.getSession();

// your code here
}
public void execute(Request tilesContext, AttributeContext attributeContext){

    Map<String, Object> request = tilesRequest.getContext("request");

    request.get("{attributeName}"); // this will return your object in request

}

Вы можете изменить запрос на сеанс, если вы хотите получить атрибут сеанса.

Другие вопросы по тегам