关于在JavaScript中使用EL表达式的问题,到底用不用加单引号或者双引号或者不加?

问题描述

关于在JavaScript中使用EL表达式的问题,到底用不用加单引号或者双引号或者不加?
之前我自己编辑百度地图api时候,EL表达式是直接写的,但是并不能使用。

当时我在csdn上找到了如下这篇文章,说是要加引号。
http://blog.csdn.net/xuechongyang/article/details/8629473
然后就成功了。

比如下代码的最后一句。

 <script type=""text/javascript"">    // 百度地图API功能    var map = new BMap.Map(""allmap"");    map.centerAndZoom(new BMap.Point(116.404 39.915) 12);    //var src= <%=request.getAttribute(""src"")%>;    //var des= <%=request.getAttribute(""des"")%>;     var output = ""从""+'${src}'+""到""+'${des}'+""驾车需要"";    //var output = ""从""+src+""到""+des+""驾车需要"";    var searchComplete = function (results){        if (transit.getStatus() != BMAP_STATUS_SUCCESS){            return ;        }        var plan = results.getPlan(0);        output += plan.getDuration(true) + ""n"";                //获取时间        output += ""总路程为:"" ;        output += plan.getDistance(true) + ""n"";             //获取距离    }    var transit = new BMap.DrivingRoute(map {renderOptions: {map: map}        onSearchComplete: searchComplete        onPolylinesSet: function(){                    setTimeout(function(){alert(output)}1000"");    }});    transit.search('${src}''${des}');</script>

但在我写一个JSP分页时候,我这里是照着网上一个分页教程敲的代码,是不加任何单引号或者双引号,可以正常使用。

//当前页数
var currentPage = ${result.currentPage};
//一共多少数据
var totalPage = ${result.totalPage};

但是在js片段中我自己写一句:var showallroutesusertype = ${showallroutesusertype};然后通过

 function deleteRoute(idList)//发出异步请求      {    question = confirm(""你确认要对此路线发起拼车吗?"");     if (question){     var xhr = createXHR();        xhr.onreadystatechange = function() {            if (xhr.readyState == 4) {                if (xhr.status >= 200 && xhr.status < 300 || xhr.status == 304) {                    doDeleteSuccess(idList);                }            }        }        xhr.open(""get""/carpool/servlet/CreateOrdersServlet?showallroutesusertype=""+showallroutesusertype+""&routeid=""+idList true);        xhr.send();     }    }    function createXHR() {        if (window.XMLHttpRequest) {            return new XMLHttpRequest();        } else if (window.ActiveXObject) {            return new ActiveXObject(""Microsoft.XMLHTTP"");        }    }//后略

在后台获取的却是“undefined”字符串。
请问这到底是怎么回事。。顺便在之前我有把result和showallroutesusertype都setAttribute到了request里。

解决方案

这个得看数据是什么,如果是数字加不加引号无所谓,如果是字符串就需要引号了,还得注意转义里面的引号,要不输出的不是符合js语法的内容就会报错,或者输出变量名导致未申明变量的错误

时间: 2024-09-19 09:46:05

关于在JavaScript中使用EL表达式的问题,到底用不用加单引号或者双引号或者不加?的相关文章

javascript 复杂的嵌套环境中输出单引号和双引号_javascript技巧

<a href="javascript:alert('这里有2个单引号一个双引号"\'\' :)');" >引号的嵌套</a> 单引号 ' 的 ASCII码是 39 双引号 " 的 ASCII码是34,所以我们可以用xx;的形式来代替具体的符号.虽然变成了xx;的形式,但是在嵌套环境中仍然要很当心.这里代码里的alert()使用的引号是单引号,alert里的字符串应该转义掉单引号.于是就有了 \'的形式.反之,就要转义掉 \"

浅析Js中的单引号与双引号问题_javascript技巧

单引号和双引号其实没啥区别,看你自己习惯了 <input type="button" onclick="alert("1")">-------------------不正确<input type="button" onclick="alert('1')">-------------------正确 双引号中再用双引号要这样:var str = "abc\"def\

Js参数值中含有单引号或双引号问题的解决方法_javascript技巧

<script type="text/javascript">function Display(LoginEmail, UserName, ID) {        alert(LoginEmail);    }</script> 1.使用单引号传参:<a href="javascript:Display('abc@abc.com','Aleax Xie','10101239393')">Test1</a> 如果其中一

javascript单引号和双引号的区别和处理_基础知识

单引号和双引号其实没啥区别,看你自己习惯了 复制代码 代码如下: <input type="button" onclick="alert("1")">-------------------不正确 <input type="button" onclick="alert('1')">-------------------正确 双引号中再用双引号要这样: var str = "a

linux shell中的单引号与双引号的区别(看完就不会有引号的疑问了)(转)

tips: ============================= IFS - LINUX字段分隔符,内部字段分隔符 IFS(Internal Field Seperator)在Linux的shell中预设的分隔符,用来把command line分解成word(字段). IFS可以是White Space(空白键).Tab( 表格键).Enter( 回车键)中的一个或几个. IFS是shell脚本中的一个重要概念,在处理文本数据时,它是相当有用的.内部字段分隔符是用于特定用途的定界符.IFS

JavaScript中的单引号和双引号报错的解决方法_javascript技巧

在使用JavaScript显示消息或者传递字符数据的时候,经常会碰到数据中夹杂单引号(')或者双引号("),这种语句往往会造成JavaScript报错.对此一般采用/'或者/"的解决. 例如: Alert("this is test "message"!"); Alert('this is test 'message'!'); 一般会改成以下语句 Alert("this is test /"message/"!&qu

Oracle中的 单引号 和 双引号

转自 http://www.cnblogs.com/gsk99/archive/2011/04/19/2021267.html 在Oracle中: 双引号的作用是:假如建立对象的时候,对象名.字段名加双引号,则示意 Oracle将严格区分大小写,否则Oracl都默认大写. 而单引号则示意:这个加了单引号的字段是一个字类似字符串,并不区分大小写. 单引号用于标识字符与数字的区别 当指定字符串文本时,必须用单引号将字符串文本引住. Oracle10g之前,假如字符串文本里含有单引号,那么必须运用两个

PowerShell中字符串使用单引号和双引号的区别_PowerShell

本文介绍PowerShell开发时,在字符串中如何去包含变量.将变量包含在字符串中,最后得到的结果是将变量的值放入到了字符串中. 假如有一个字符串变量:$p = "PowerShell" 那么 $str="Hello $p",这时,$str的值是什么呢?且看下面的演示: 复制代码 代码如下: PS C:\Users\spaybow> $p="PowerShell" PS C:\Users\spaybow> $str="Hel

jsp-javascript中通过el表达式获得后台map中value的属性

问题描述 javascript中通过el表达式获得后台map中value的属性 后台:java.util.IdentityHashMap mapStyle= viewService.getStyle(station.getDataType()); ServletActionContext.getRequest().setAttribute("map",mapStyle); 如何在前台的javascript中通过el表达式获得mapStyle中的属性 解决方案 ${requestScop