我正在为我的团结游戏写一个简单的网络服务器。问题是如果我执行${list}
,它会显示JSON字符串,但如果我在scriptlet中执行它,则返回null值。
@RequestMapping(value = "/distance.do")
public ModelAndView distance(CommandMap commandMap) throws Exception {
ModelAndView mv = new ModelAndView("distanceProc");
List<Map<String, Object>> list = sampleService.distance(commandMap.getMap());
JSONObject obj = new JSONObject();
for(int i = 0; i < list.size(); i++) {
obj.put("city", list.get(i));
}
String jsonString = obj.toString();
mv.addObject("list", jsonString);
return mv;
}
distanceProc.jsp
${list}
${list}
显示
{"city":{"cityName":"*****","distance":0,"latitude":*****,"cityId":*,"longitude":*****}}
,而
<%
String data = request.getParameter("list");
System.out.println("Received Data: " + data);
%>
返回null。我错过了什么吗?
答案 0 :(得分:2)
您确定list
是http请求参数吗?
结果会是什么
<%
String data = request.getAttribute("list");
System.out.println("Received Data: " + data);
%>
EL表达式${list}
将为您提供list
属性in one of the page, request, session, and application scopes的值。如果list
确实是http请求参数,并且您希望通过EL访问它而不是使用${param.list}
。
如果它解决了问题: