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。

时间: 2024-10-16 07:55:07

jstl取纯数字需要加单引号的相关文章

数组转字符串(属性加单引号,逗号分隔)

数组转字符串(属性加单引号,逗号分隔) 数组转字符串 PHP 应用场景:SQL写操作应用插入表字段值: 数组 $data $data = array('张三','男','20',''安徽省合肥市 '); 转换如下: #join $str = " ' " . join("','", array_values($data) ) . " ' "; #str_replace $str = " ' ".str_replace( &quo

MyBatis做动态模糊查询时,like后面要不要加单引号??

做项目遇到了个奇怪的问题,项目里面要对商品.账户.进行分别的多条件查询,于是我就采用动态多条件分页查询,起初在做账户部分的时候Mybatis是这样写的 <!-- 动态多条件分页查询 --> <select id="searchPageUseDyc" parameterType="page" resultMap="accountResultMap"> select acc_id,acc_login,acc_name,acc_

php 设置提交信息后自动替换敏感字符加单引号

php.ini 有个配置项,magic_quotes_gpc,值为on时就会自动在SQL敏感字符前面加"\"注释(比如 单引号  ' ) 你可以在php.ini中设成off禁用,或者在php中判断一下 if (!get_magic_quotes_gpc()) { // 处理字符串,自动添加"\" $_POST['message'] = addslashes($_POST['message']); } else { // 不做任何处理 }

加单引号

function db_create_in($item_list, $field_name = ''){ if (empty($item_list)) { return $field_name . " IN ('') "; } else { if (!is_array($item_list)) { $item_list = explode(',', $item_list); } $item_list = array_unique($item_list); $item_list_tmp

定义变量时无引号,单引号,双引号区别与特点:

a=192a=192-$ab='192-$a'c="192-$a" echo "a=$a"echo "b=$b"echo "c=$c" 输出结果如下: a=192-192b=192-$ac=192-192-192 第一种定义a变量的方式是不加任何引号直接定义变量的内容,当内容为简单连续的数字.字符串.路径名时,可以这样用.第二种定义b变量的方式是通过单引号定义.这种方式的特点是:输出变量内容时单引号里是什么就输出什么,即使内容

a标签href跳转---传值---禁止单引号

禁止加单引号1  href传参的值  (&t_type='航班') 错误 <a href="check_apply?applyid=<?=$applyid?>&applyitem_id=<?=$applyitem_id;?>&t_type=航班&date=<?=$v['date'];?>"> 禁止加单引号2 $small = date('H:i',strtotime( ' -30 minute ', str

shell中的双引号,单引号,反引号

在shell中引号分为三种:单引号,双引号和反引号. 单引号 ‘ 由单引号括起来的字符都作为普通字符出现.特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释.单引号用于保持引号内所有字符的字面值,即使引号内的\和回车也不例外,但是字符串中不能出现单引号.(注意是所有,只是单引号本身不能够出现在其中).例如: $ string=’$PATH’ $ echo $string $PATH 可见$保持了其本身的含义,作为普通字符出现. 双引号 “ 双引号用于保持引号内所有字符的字面值(回

检货装箱单界面中录入纯数字条码显示问题

检货装箱单界面中录入纯数字条码显示问题 问题:数据库中拿出的xml是没有问题,但是js解析的时候,如果是纯数字,就会自动把它当成数字,但是数字太长太大,导致eval解析出错 分析:nds.control.ejb.command.DBJSONXML.class中,用org.json.XML.toJSONObject(string)方法是电脑自己判断类型,纯数字自动判断为数字类型,现在需要将数据库拿取的xml格式的值全部变成String 类型,用net.sf.json.xml.XMLSerializ

Linux 命令中的单引号,不加任何参数以及双引号的作用

单引号: 可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么.单引号''是全引用,被单引号括起的内容不管是常量还是变量者不会发生替换. 双引号: 把双引号内的内容输出出来:如果内容中有命令.变量等,会先把变量.命令解析出结果,然后在输出最终内容来.双引号""是部分引用,被双引号括起的内容常量还是常量,变量则会发生替换,替换成变量内容. 不加引号: 不会将含有空格的字符串视为一个整体输出, 如果内容中有命令.变量等,会先把变量.命令解析出结果,然