u013226190
板砖好少年
采纳率100%
2016-05-20 06:49

关于在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里。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • showbo GoCityPass新加坡曼谷通票 5年前

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

    点赞 2 评论 复制链接分享

相关推荐