之前我自己编辑百度地图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里。