Я уже ответил тем же на ваш предыдущий вопрос. Вы можете использовать любой способ или даже получить доступ к сеансу несколькими способами.
в одну сторону
Map attibutes = ActionContext.getContext().getSession();
Но еслиВы используете это, и ваш класс действий напрямую связан с ActionContext
, который является определенным образом Struts2.Одной из основных целей Struts2 является отделение классов Action от базового HTTP-контекста и других прямых зависимостей.Кроме того, написание тестовых примеров для простого POJO намного проще и лучше, чем в других случаях.
Реализуя интерфейс SessionAware
, вы указываете Struts2, что вы хотите, чтобы сессия была простым объектом карты, а это не только делало код сильно разъединеннымно прост в обслуживании и тестировании.
Я надеюсь, что кто-то еще придет с большим количеством хороших моментов в этом