【发布时间】:2013-05-15 05:00:45
【问题描述】:
Servlet 代码:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
Facade f = new Facade();
//f.hotspots() return a list of object used as marker***
session.setAttribute("hotspots", f.hotspots());
prossimaPagina = "/map.jsp";
ServletContext application = getServletContext();
RequestDispatcher rd = application.getRequestDispatcher(prossimaPagina);
rd.forward(request, response);
return;
}
java脚本代码:
<script type="text/javascript">
var map;
function initialize() {
var myLatlng = new google.maps.LatLng(10,10);
var mapOptions = {
zoom: 4,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
placeMarker();
}
function placeMarker() {
var icon = 'icon/hs.png';
var hotspotList = <%=session.getAttribute("hotspots")%>;
for ( var h in hotspotList ) {
var marker = new google.maps.Marker({
position: (h.getLat(),h.getLng()),
map: map,
icon: icon
});
}
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
我知道<%=session.getAttribute("hotspots")%> 表达式是错误的,但我想做类似的事情。
我怎样才能做到这一点?
【问题讨论】:
-
你需要修改你说jsp的问题,而代码是javascript
-
JSP 生成 HTML 输出。 JS 是 HTML 输出的一部分。 JSP 和 JS 根本不同步运行。您需要做的就是编写 JSP 代码,使其准确生成所需的 HTML 输出,您可以通过右键单击验证,在浏览器中 View Soruce。
-
我猜你可以以 JSON 格式返回
hotspot中的对象列表,这样它就可以很容易地转换为 JavaScript 对象,你可以按照 JS 代码中提供的方式使用它。跨度>
标签: java javascript jsp jstl el