作者lueichun (no anonymous)
看板java
标题[问题] EL的参数型别问题
时间Sat Mar 11 22:33:47 2017
我在我的某个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'
但是总觉得应该有更简便的作法
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.231.177.132
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1489242830.A.0CD.html
※ lueichun:转录至看板 Web_Design 03/11 22:38
1F:推 dennisxkimo: status 宣告成整数而不是字串的关系吗? 03/11 22:49
2F:→ ssccg: js和java不是串起来执行的,java端只是产生出文字而已 03/11 23:02
3F:→ ssccg: jsp跑完後出来的js是 var status=01 ,01显然是个数字 03/11 23:03
4F:→ ssccg: 要在js是字串要用 var status='${status}' 03/11 23:04
5F:→ ssccg: ${status}就只是把status的内容(toString)印出来而已 03/11 23:08
6F:→ ssccg: java/jsp → 产生文字 → 浏览器解析文字 → 执行js 03/11 23:15
7F:→ ssccg: 不要把server端和client端的程式搞混 03/11 23:16
8F:→ lueichun: 照ssccg大的作法就可以了 谢谢 03/12 10:41
※ 编辑: lueichun (1.169.224.71), 03/12/2017 10:42:32
9F:→ allen8952: 个人认为可以param成json会比较好 03/15 21:09
10F:→ xw: var a='${b}' 当b有特殊符号像是一个'的时候,js会哭哭 03/22 21:46
11F:→ ssccg: 有变数要代进js本来就要做js escape啊,escape完一样放在 04/21 20:03
12F:→ ssccg: ''中间啊...是b要事先(或用jstl tag/EL function)escape 04/21 20:05
13F:→ ssccg: 如果是物件的话当然直接用json最方便,不过单纯的string... 04/21 20:17