首页 > Web开发 > 详细

jstl取纯数字需要加单引号

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

今天在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取纯数字需要加单引号

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!