如何使用javascript在JSP中检索从控制器传递的hashmap模型
我在我的控制器中传递下面这样的模型(下面只是一个示例,因为我不能粘贴我的实际代码) 现在,在使用javascript的JSP中,我需要访问这些值。我需要如何访问我在ModelAndView中添加的映射(遍历键并检索MyObject的属性) 我试过下面的方法,但运气不好……我甚至无法在js alert上获得值如何使用javascript在JSP中检索从控制器传递的hashmap模型,javascript,java,json,jsp,spring-mvc,Javascript,Java,Json,Jsp,Spring Mvc,我在我的控制器中传递下面这样的模型(下面只是一个示例,因为我不能粘贴我的实际代码) 现在,在使用javascript的JSP中,我需要访问这些值。我需要如何访问我在ModelAndView中添加的映射(遍历键并检索MyObject的属性) 我试过下面的方法,但运气不好……我甚至无法在js alert上获得值 而不是将映射添加到ModelAndView添加JSON字符串中 而不是将映射添加到ModelAndView添加JSON对象中 下面是我试图获取这些值的示例jsp <%@ taglib
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript">
google.charts.setOnLoadCallback(retrieveData());
function retrieveData() {
alert("${dataModel}");
}
</script>
setOnLoadCallback(retrieveData());
函数retrieveData(){
警报(“${dataModel}”);
}
在您的问题中,
alert
以两种方式打印了什么?dataModel
在哪里?哪里使用了convertToJSON()
?地图在哪里运输?在哪个加载之后应该调用retrieveData()?Thnks JPG和Holger进行响应。问题出在哪里了。从警报(“${dataModel}”)更改;发出警报(${dataModel});解决了这个问题@Holger-convertToJSON()用于此处的modelAndView.addObject(“数据模型”,convertToJSON(映射));,我想补充一下。现在我已经编辑了您问题中的两种方式的alert
打印内容:dataModel
在哪里?哪里使用了convertToJSON()
?地图在哪里运输?在哪个加载之后应该调用retrieveData()?Thnks JPG和Holger进行响应。问题出在哪里了。从警报(“${dataModel}”)更改;发出警报(${dataModel});解决了这个问题@Holger-convertToJSON()用于此处的modelAndView.addObject(“数据模型”,convertToJSON(映射));,我想补充一下。现在我已经编辑了
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("dataModel", convertToJSON(map));
modelAndView.setViewName("My_JSP_PAGE.jsp");
return modelAndView;
private String convertToJSON(Map map) {
ObjectMapper mapper = new ObjectMapper();
String jsonString = null;
try {
jsonString = mapper.writeValueAsString(map);
} catch (JsonProcessingException e) {
}
return jsonString;
}
private JSONObject convertToJSON(Map map) {
JSONObject jsonObject = new JSONObject();
jsonObject.putAll(map);
return jsonObject;
}
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript">
google.charts.setOnLoadCallback(retrieveData());
function retrieveData() {
alert("${dataModel}");
}
</script>