JSON getParameter返回null,而$ {}则不返回

时间:2016-07-21 08:52:47

标签: json jsp

我正在为我的团结游戏写一个简单的网络服务器。问题是如果我执行${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。我错过了什么吗?

1 个答案:

答案 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}

如果它解决了问题: