您好,登錄后才能下訂單哦!
一直以來都是使用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); }); });
運行結果:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。