Да, они не совпадают, в скриптлете, в котором используется неявный объект сеанса http, в атрибуте тега struts вы ссылаетесь на объект карты сеансов struts, полученный через OGNL. У тебя ничего нет, потому что они разные. Чтобы использовать карту сеансов struts, вы должны реализовать SessionAware
в действии. Таким образом, перехватчик конфигурации сервлетов будет вводить в него сеанс, тогда вы можете использовать карту сеанса, чтобы поместить туда значения, которые будут доступны через OGNL.
Пример реализации SessionAware
:
private Map session;
@Override
public void setSession(Map session) {
this.session = session;
}
lazy исключение инициализации происходит, потому что вы не реализовали toString
в объектах модели.