关于el表达式的值传到js中类型变为Number的解决方案

上次练习了一个小项目,发现了一个很奇怪的问题。

后台传到jsp页面的值(18位数字身份证),用el表达式接受到以后,用作删除,可谁想到传到js代码中最后一位就变为了0。(本身js学的不是很好)

<a href="javascript:del(${customers.identity})" class="btn btn-danger btn-xs">删除</a>

<script type="text/javascript">

        function del(identity) {
            alert(identity);
            var  flag= window.confirm("是否确定删除");

            if(flag){

                window.location.href="${path}/test/dele?identity="+identity;
            }
        }

    </script>

el表达式存的是身份证号码,可是到了js里就变成了现在这样,最后一位变为0,这究竟是怎么回事呢?

弄了好久才弄明白,jsp页面的值的类型是String,而传到js函数的类型是js的Number类型,Number类型的有效数值是17位,其余的位数自动补零,所以才会造成这种效果。

那要怎么修改呢?那就是在执行js函数之前先把类型变为js的String类型,传过去自然就是String类型了。在参数内加上单引号即可。

<a href="javascript:del(‘${customers.identity}‘)" class="btn btn-danger btn-xs">删除</a>

谢谢大家!

原文地址:https://www.cnblogs.com/gpeiqi/p/9090796.html

时间: 2024-11-08 19:36:13

关于el表达式的值传到js中类型变为Number的解决方案的相关文章

EL表达式获取Map和List中的值

? EL表达式取Map中的值: 当Map中是String,String时 后台servlet中: Map<String, String> map1 = new HashMap<String, String>(); map1.put("a", "b"); map1.put("aa", "bb"); map1.put("aaa", "bbb"); 前台jsp 中使用E

在EL表达式或者Struts标签库中格式化日期对象,即将Date转换为yyyy-MM-dd格式

一.EL表达式 首先,在jsp页面引入<fmt> tags,<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>. 其次,将EL表达式作为fmt标签属性的value值.再增加pattern参数,为日期制定需要格式化的格式,如yyyy-MM-dd.例如: <fmt:formatDate value="${object.dateproperty}&quo

EL表达式从request和session中取值

在Action中保存登录的基本信息:request.getSession().setAttribute("adminid", str); 在JSP页面中:${sessionScope.adminid} java:request.setAttribute("adminid",str); 在JSP页面中:${#request.adminid} Struts2中 :<s:hidden name="adminid" value="#ses

js中类型识别的方法

第一种方法typeof typeof是一种运算符,它的值有以下几种 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>ces</title> </head> <body> <script> console.log(typeof "Liesbeth");

js中isNaN和Number.isNaN的区别

isNaN 判断传入的参数是否能转换成数字,并不是严格的判断是否等于NaN. 例子: console.log(parseInt('12测试')) //12 字符串是以数字开头的,parseInt方法会自动过滤掉后面的字符. 所以下面这段代码输出true,因为字符串是有可能转换成数字的(在第一个例子中已证明) console.log(isNaN('测试')) //true Number.isNaN 判断传入的参数是否严格的等于NaN(也就是 ===). 那一般在什么情况下会用到Number.isN

JS中parseint和number的区别

两者定义的区别 parseInt将字符串(String)类型转为整数类型.Number() 函数把对象(Object)的值转换为数字. parseInt得到的结果是整数或者NaN,而Number得到的是数字(整数,小数等)或者NaN: parseInt()语法 parseInt(string, radix) 参数   描述 string 必需.要被解析的字符串. radix 可选.表示要解析的数字的基数.该值介于 2 ~ 36 之间. 如果省略该参数或其值为 0,则数字将以 10 为基础来解析.

JSP中使用EL表达式

EL表达式 :EL 全名为Expression Language,就是为了替代<%= %>脚本表达式. EL主要作用: 获取数据: EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域中检索java对象.获取数据.(某个web域 中的对象,访问javabean的属性.访问list集合.访问map集合.访问数组) 执行运算: 利用EL表达式可以在JSP页面中执行一些基本的关系运算.逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算.${user==null} 获取web

如何将servlet中的变量在jsp页面中显示---jsp中的EL表达式

1.EL(Expression Language)表达式 语 法:${},放在body中 2.EL表式一般情况下,从作用域对象中取值作用域对象有四个:pageContext,request,session,application,从小到大 例如: <% int a = 1234; //利用作用域对象设置key-value,即变量 pageContext.setAttribute("a", a); %> -----这是设置在<!DOCTYPE html >标签之上

访问前台页面${pageContext.request.contextPath}/el表达式失效问题解决

访问前台页面${pageContext.request.contextPath}/el表达式失效问题解决 2017年05月09日 10:54:18 AinUser 阅读数:922 标签: el表达式404isELIgnoredpageContext解析 更多 个人分类: Error实例 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/AinUser/article/details/71439806 最近在做项目整合这个问题,然后在项目整合的时候,