jsp中如何将后台传来的数据添加到table上

随风而醒 2017-04-11 09:09:24
1.我现在在用一个百度地图查询,现在的情况是:我从前台通过
List<City> cities = (List<City>) request.getAttribute("cityList");
获取城市数据[经度,纬度,城市名],然后添加到<tr>表格中

2.求教:

3.下面是jsp中的代码和预期的图表显示(目前不能加载数据):
<%@page import="java.util.*,java.text.*,com.*"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
body, html, #allmap {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
font-family: "微软雅黑";
}
</style>
<script type="text/javascript"
src="http://api.map.baidu.com/api?v=2.0&ak=bpgdkqFAZegPfh8FTgolo0hImBp5k45j"></script>
<title>位置定位标注</title>
</head>
<body>
<div id="allmap" style="width:78%;height:600px;float:left;"></div>
<div id="city" style="width:20%;height:600px;float:left;">
<table border="1px" id="tab">
<tr id="tr1">
<th width="250px">编号</th>
<th width="250px">城市名</th>
</tr>
<!-- 这里添加行表(从后台获取的数据) -->
</table>
</div>
</body>
</html>
<script type="text/javascript">
var map = new BMap.Map("allmap");// 初始化全景图
// 百度地图API功能
<%
// 判断城市是否为空,为空,则返回主界面index.jsp
Object obj = session.getAttribute("cityList");
if (obj != null) {
// 获取后台数据,并解析
List<City> cities = (List<City>) request.getAttribute("cityList");
for (int i = 0; i < cities.size(); i++) {
City city = cities.get(i);
%>

// 下面这个是错误的
<%-- var table = document.getElementById("tab");
var num = <%=i+1%>;
var cityname = '<%=city.getCityname()%>';
table.innerHTML = table.innerHTML
+ "<tr><th width="250px">num</th><th width="250px">cityname</th></tr>";
--%>
// 获取经纬度
var lng = <%=city.getLongitude()%>;
var lat = <%=city.getLatitude()%>;
var point = new BMap.Point(lng, lat); // 地位一个点(经纬度)
map.centerAndZoom(point, 5.5); // 设置地图中心位置,多个城市,则以最后一个为准
var marker = new BMap.Marker(point); // 创建标注
map.addOverlay(marker); // 将标注添加到地图中
<%
}
} else {
%>

var point1 = new BMap.Point(116, 39); // 地位一个点(经纬度)
map.centerAndZoom(point1, 5.5); // 设置地图中心位置,多个城市,则以最后一个为准
var marker1 = new BMap.Marker(point); // 创建标注
map.addOverlay(marker1); // 将标注添加到地图中
<%
}
%>
</script>


...全文
941 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
随风而醒 2017-04-11
  • 打赏
  • 举报
回复
问题已经解决了,如下:
<body>
	<div id="allmap" style="width:78%;height:600px;float:left;"></div>
	<div id="city" style="width:20%;height:600px;float:left;">
		<table id="tab">  
			<tr>
       			<th>编号</th>
       			<th>城市名</th>
    		</tr>
       		 <% 
       		List<City> citielist = (List<City>) request.getAttribute("cityList");
      		for(int i=0;i<citielist.size();i++)
     		 {
        		City city = citielist.get(i);
     		%>
    		<tr>
       			<th><%=i+1%></th>
       			<th><%=city.getCityname()%></th>
    		</tr>
    		<%
     		}
    		%>  
    	</table>  
	</div>
</body>
随风而醒 2017-04-11
  • 打赏
  • 举报
回复
引用 1 楼 pany1209 的回复:
用c:foreach标签、。。。。
试了这个方法,这个方法好像没作用,可能是哪里格式写错了,具体什么原因也不清楚; 不过现在问题已经解决了,还是原来的直接用request来获取(之前的可能位置写错了)。 非常感谢!
李德胜1995 2017-04-11
  • 打赏
  • 举报
回复
用c:foreach标签、。。。。

81,114

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧