看板 java 關於我們 聯絡資訊
大家好 小弟剛接觸JSP不久 看到EL 有此疑問 我知道可以在 <script> 標籤內用 var x = <c:out value="${XXX}"> 傳值給 js 在網路上有看到好幾篇文章(似乎都採用自同一篇) 說 在 <script> 標籤內可以直接寫 var x = '${XXX}' 可是這樣x不就認為 '${XXX}' 是字串嗎? 測試過 真的是被當成字串而已 不知道還有沒有其他寫法可以傳 EL的變數 給 JS 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.149.57 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1430308593.A.EEC.html
yyc1217: 你是要傳數字嗎? 把單引號拿掉就好了 04/30 00:20
不一定耶 xxx可能是 request的attribute名稱 單引號拿掉會有錯誤 但是我後來再試過 '${XXX}' 又可以使用 我猜可能是公司用的Servlet或JSP版本比較舊 Servlet是2.4 Tomcat 是 5.5 不知道是不是這個關係 ※ 編輯: ipod7788 (111.250.149.57), 04/30/2015 01:13:54
genomini: EL會先編譯 之後才跑JS 04/30 08:02
kogrs: 先釐清jsp/scriptlet/el 與 javascript的差異 04/30 23:22
lashante: 不傳字串,那你是要傳數值還是什麼?如果確定是有值的數 05/02 18:17
lashante: 字的話,就用var x = parseFloat('${XXX}'); 或parseInt 05/02 18:18
lashante: 想傳物件的話,也可以在先servlet裡把物件轉為Json字串 05/02 18:22
lashante: 放進XXX,然後在JSP裡寫 var x = JSON.parse('${XXX}'); 05/02 18:24