我試圖從會話對象的值傳遞給自定義標籤<l:LoginStatus userId="<% out.print((String)session.getAttribute("userId")); %>"/>
嘗試在JSP打印會話變量會導致錯誤「等於預期」
爲什麼這條線給我的錯誤:
組織.apache.jasper.JasperException:/index.jsp(1,1)/header.jsp(64,131)等於符號預期
當我通過這樣的<l:LoginStatus userId="4"/>
一切硬編碼值正常工作。
它對我沒有任何意義,我認爲使用out.print
將使=
不必要的。
Thankyou,解決了我使用我試圖使用的方法時遇到的問題以及ClassCastExceptions的另一個問題。 – Ankur 2010-10-11 15:02:24
當對象* *實際*不是'字符串'時,CCE可能發生。畢竟,鑄造在這裏是不必要的。 '<%= %>'會在其上隱式調用'String#valueOf()'。所以'<%= session.getAttribute(「userId」)%>'也會起作用。然而,使用* scriptlets *是[不鼓勵](http://stackoverflow.com/questions/3177733/howto-avoid-java-code-in-jsp-files)。 – BalusC 2010-10-11 15:04:53