码迷,mamicode.com
首页 > Web开发 > 详细

jstl取纯数字需要加单引号

时间:2015-04-27 16:50:57      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:jstl   数字   取值   八进制   

今天在jsp页面上取条码号,由于条码号是纯数字,在页面上直接用${book.barcode}取出来的没有任何问题,但是把jstl取出来的值当做js方法参数传递进去,取值就不对。具体代码如下:

                        ${book.orderno},${book.bookdept}
                        <c:if test="${book.bookstatus == 1}">
                            <a href="javascript:void(0)"
                                onclick="cancleBook(${book.orderno},${book.bookdept})">取消预约</a>
                        </c:if>

页面效果截图如下:
技术分享

页面上的值是正常显示。通过js参数传递过去后,显示不正常。
修改方案如下:在js的方法参数中,取值时候加上单引号。
具体修改如下:onclick=”cancleBook(book.orderno,{book.bookdept}’)”


产生问题原因很可能是:jstl把取出来的值传给js时当做八进制了(没有加单引号),因为“0001001”转化为十进制后刚好是513.
但问题是:为什么在jsp页面没有转化为八进制,而在js方法的参数中转化了八进制? 网上好像有人说,只要是数字且以0开头,js会自动当做八进制进行转化。但是为什么这么做呢?

====结论:以后传递纯数字类型时候,尽量加单引号,避免产生不必要的bug。

jstl取纯数字需要加单引号

标签:jstl   数字   取值   八进制   

原文地址:http://blog.csdn.net/zl544434558/article/details/45312493

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!