Je suis en train de passer une valeur de l'objet de la session à une balise personnalisée <l:LoginStatus userId="<% out.print((String)session.getAttribute("userId")); %>"/>
Essayer d'imprimer une variable de session dans une jsp provoque une erreur « égale attendue »
Pourquoi cette ligne me donne l'erreur:
org .apache.jasper.JasperException: /index.jsp(1,1) /header.jsp(64,131) symbole égal prévu
Quand je passe une valeur codée en dur comme celui-ci <l:LoginStatus userId="4"/>
Tout fonctionne très bien.
Cela n'a aucun sens pour moi, je pensais que l'utilisation out.print
rendrait =
inutile.
Merci, cela a résolu le problème noté et un autre problème avec ClassCastExceptions que je recevais en utilisant la méthode que j'essayais. – Ankur
CCE peut se produire lorsque l'objet n'est * en réalité * pas un «String» du tout. Après tout, le casting n'est pas nécessaire ici. Le '<%= %>' appelait implicitement 'String # valueOf()'. Donc '<% = session.getAttribute (" userId ")%>' aurait aussi simplement fonctionné. L'utilisation de * scriptlets * est cependant [déconseillée] (http://stackoverflow.com/questions/3177733/howto-avoid-java-code-in-jsp-files). – BalusC