作者:
lueichun (no anonymous)
2017-03-11 22:33:47我在我的某個Spring mvc controller打上這一行:
Model m = new Model();
m.addAttribute("status", "01");
然後在要返回的jsp檔打上這段code:
<script>
var status=${status};
</script>
然後我發現
javascript的status 接收到的值不是'01' 變成'1'了 如下圖:
https://dl.dropboxusercontent.com/u/63402326/%E6%9C%AA%E5%91%BD%E5%90%8D3.png
從圖中可以看到 ${status}似乎被解析成01而非'01'
可能是因為這樣 javascript將01當成1 所以圖上的status才會變成'1'
那請問可以怎麼修改 才能讓status從'1'變回'01'呢
我原本想說就用if else
只要status=='1' 就對status assgin'01'
但是總覺得應該有更簡便的作法
作者:
ssccg (23)
2017-03-11 23:02:00js和java不是串起來執行的,java端只是產生出文字而已jsp跑完後出來的js是 var status=01 ,01顯然是個數字要在js是字串要用 var status='${status}'${status}就只是把status的內容(toString)印出來而已java/jsp → 產生文字 → 瀏覽器解析文字 → 執行js不要把server端和client端的程式搞混
作者:
lueichun (no anonymous)
2017-03-12 10:41:00照ssccg大的作法就可以了 謝謝
作者: allen8952 2017-03-15 21:09:00
個人認為可以param成json會比較好
作者:
xw (無上菩提本)
2017-03-22 21:46:00var a='${b}' 當b有特殊符號像是一個'的時候,js會哭哭
作者:
ssccg (23)
2017-04-21 20:03:00有變數要代進js本來就要做js escape啊,escape完一樣放在''中間啊...是b要事先(或用jstl tag/EL function)escape如果是物件的話當然直接用json最方便,不過單純的string...