一直以來都是使用SpringMVC,最近不是很忙所以學習了一下Struts2.以前在項目中很多時候都是使用JQuery請求的Json。
當然在SpringMVC中擷取Json也是有多種方式的,比如:
JSONArray json = JSONArray.fromObject(childNode.toArray());String s = json.toString();response.setContentType("text/json; charset=UTF-8");response.setCharacterEncoding("UTF-8");try {response.getWriter().write(s);} catch (IOException e) {e.printStackTrace();}
我大多數情況下都是使用Gson的,上述樣本使用了json-lib-2.3-jdk15.jar。
下面我將使用struts2+jquery+json整合擷取JSON,需要lib中包含struts2-json-plugin-2.3.7.jar和json-lib-2.3-jdk15.jar。
UserAction:
public String jsonUser() throws Exception{UserService uService=new UserService();List<User> list=uService.findByAll();Gson gson=new Gson();result=gson.toJson(list);for (User user : list) {System.out.println(gson.toJson(list)+"====================="+user.getId()+"--"+user.getName());}return SUCCESS;}
其中result是UserAction的一個屬性變數:
// 返回結果給用戶端private String result;public String getResult() {return result;}public void setResult(String result) {this.result = result;}
struts.xml:
<package name="jsonUser" extends="json-default"><!-- 擷取所有User的JSON --><action name="jsonuser" class="com.mzsx.user.action.UserAction" method="jsonUser"><result type="json"><param name="root">result</param></result></action></package>
最值得注意的是extends=
"json-default",<resulttype="json"
>和<paramname="root"
>result</param>。
為了簡便,我在前端頁面的js為:
$(function(){alert("開始");$.getJSON('http://localhost:8080/hibernate/jsonuser.action',function(data){alert(data);});});
運行結果:
650) this.width=650;" title="111.png" src="http://www.bkjia.com/uploads/allimg/131228/14160014R-0.png" alt="110248689.png" />
本文出自 “夢朝思夕” 部落格,請務必保留此出處http://qiangmzsx.blog.51cto.com/2052549/1305058