Utilice EL $ {XY} directamente en scriptlet

En mi proyecto, tengo que asignar una variable cada vez que se abre el JSP. Lo intenté con scriptlets %% en JSP y EL ${} que devuelve la variable.

Pero parece que no funciona.

    

Hay un error después de korrekteAntwort=${} , ¿no es posible asignar directamente una variable de EL en un scriptlet?

Estás mezclando scriptlets y EL y esperando que se ejecuten “sincronizados”. Eso simplemente no funcionará. La una es una forma antigua de escribir JSPs y la otra es una forma moderna de escribir JSPs . Deberías usar uno o el otro, no ambos.

Volviendo a la pregunta concreta, EL resuelve las variables por PageContext#findAttribute() . Así que haz exactamente lo mismo en scriptlets .

 Frage frage = (Frage) pageContext.findAttribute("frage"); session.setAttribute("korrekteAntwort", frage.getKorrekteAntwort()); 

Sin embargo , como se dijo, esta es una forma antigua de usar JSP y no necesariamente la “mejor” manera para el requisito funcional que has tenido en mente, pero no contó nada . La forma moderna de JSP usaría JSTL :

  

Estará disponible en el scope de la sesión como ${korrekteAntwort} desde esa línea, que es exactamente lo que hace esa línea de scriptlet .