[JSP ] 如何在javascript內使用 EL

看板java作者 (小小涼)時間10年前 (2015/04/29 19:56), 10年前編輯推噓0(007)
留言7則, 4人參與, 最新討論串1/1
大家好 小弟剛接觸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

04/30 00:20, , 1F
你是要傳數字嗎? 把單引號拿掉就好了
04/30 00:20, 1F
不一定耶 xxx可能是 request的attribute名稱 單引號拿掉會有錯誤 但是我後來再試過 '${XXX}' 又可以使用 我猜可能是公司用的Servlet或JSP版本比較舊 Servlet是2.4 Tomcat 是 5.5 不知道是不是這個關係 ※ 編輯: ipod7788 (111.250.149.57), 04/30/2015 01:13:54

04/30 08:02, , 2F
EL會先編譯 之後才跑JS
04/30 08:02, 2F

04/30 23:22, , 3F
先釐清jsp/scriptlet/el 與 javascript的差異
04/30 23:22, 3F

05/02 18:17, , 4F
不傳字串,那你是要傳數值還是什麼?如果確定是有值的數
05/02 18:17, 4F

05/02 18:18, , 5F
字的話,就用var x = parseFloat('${XXX}'); 或parseInt
05/02 18:18, 5F

05/02 18:22, , 6F
想傳物件的話,也可以在先servlet裡把物件轉為Json字串
05/02 18:22, 6F

05/02 18:24, , 7F
放進XXX,然後在JSP裡寫 var x = JSON.parse('${XXX}');
05/02 18:24, 7F
文章代碼(AID): #1LGCRnxi (java)
文章代碼(AID): #1LGCRnxi (java)