Вы смешиваете скрипты и EL и ожидаете, что они будут запускаться «синхронно». Это просто не сработает. Один из способов написания JSPs и - это старый способ записи JSP . Вы должны использовать тот или иной, а не оба.
Возвращаясь к конкретному вопросу, под капотами EL разрешает переменные с помощью PageContext#findAttribute()
. Так что просто сделайте точно то же самое в scriptlets .
Frage frage = (Frage) pageContext.findAttribute("frage");
session.setAttribute("korrekteAntwort", frage.getKorrekteAntwort());
Однако, как сказано, это старый способ использования JSP и не обязательно «лучший» способ для функциональное требование, которое вы имели в виду, но ничего не сообщило о . Современный JSP-метод будет использовать JSTL
:
Это будет доступно в области сеанса как ${korrekteAntwort}
из этой строки, что является именно тем, что строка scriptlet делает.