问题描述
我刚刚接触java 看了别人写的一些代码不理解 protected String sendJson(String status, Object obj) throws IOException{Map<String, Object> _map = new HashMap<String, Object>(); //map<String ,Object> 这样写的好处 能否给点看得到的说明_map.put("status", status);_map.put("values", obj);PrintWriter out = ServletActionContext.getResponse().getWriter();//PrintWriter 输出流 与ServletActionContext 有关系? 这个好像是struts2与页面交互数据的一个存放数据的类似于容器的 而getResponse() 获取相应 getWriter 获取写入的流?try{String returnStr = JSONUtil.serialize(_map); JSONUtil.serialize json 序列化 放到流中?out.print(returnStr);out.flush();out.close();} catch (Exception e){out.print("{status:'EXCEPTION',values:'" + e.getMessage() + "'}");}return NONE;} 请让我别再迷糊 谢谢!!!
解决方案
//map<String ,Object> 这样写的好处 能否给点看得到的说明 _map.put("status", status); //java泛型的使用,便于取人map 中存放数据的类型.PrintWriter out = ServletActionContext.getResponse().getWriter(); 等价于 response.getWriter();也就是Servlet的输出流而已.平常使用servlet是,是采用页面跳转,然而在servlet本质上是通过输出流输出HTMString returnStr = JSONUtil.serialize(_map); returnStr 自己debug一下,应该是一个json格式的字符串.
解决方案二:
一楼说的很详细了,不能投票,支持一下,呵呵