資源描述:
《struts2+json 實(shí)現(xiàn)ajax 返回對(duì)象與列表》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、JSON是一個(gè)插件,它允許我們?cè)贘avaScript中異步調(diào)用Action,它提供了一個(gè)json的返回結(jié)果類型(ResultType),只要為Action指定類型為json返回結(jié)果類型,那么這個(gè)響應(yīng)結(jié)果不需要返回給任何視圖層,JSON會(huì)將Action里的狀態(tài)信息序列化為JSON指定格式的數(shù)據(jù),并將該數(shù)據(jù)返回給JAVASCRIPT,這樣可以完成AJAX的應(yīng)用交互.要應(yīng)用JSON插件,首先需要到?http://code.google.com/p/jsonplugin/downloads/list下載最新JSON插件,我這里下載的是jsonplugin-0.33.jar
2、,將該文件拷到WEB工程的LIB目錄,當(dāng)然還需要下載Struts2類庫(kù),可以到http://struts.apache.org/download.cgi#struts2014這里去下載,下載完后解壓縮,將JAR拷到WEB工程的LIB目錄,不能少于以下幾個(gè)JAR文件(struts2-api-2.0.5.jar、struts2-core-2.0.5.jar、ognl-2.6.9.jar、xwork-2.0.0.jar、commons-logging-1.1.jar、freemarker-2.3.8.jar,具體文件名視版本而定),接下來我們可以寫個(gè)應(yīng)用來試驗(yàn),本例程分
3、為二步來寫,第一步實(shí)現(xiàn)返回一個(gè)結(jié)果對(duì)象,第二步實(shí)現(xiàn)返回一個(gè)結(jié)果列表,首先來看下返回結(jié)果對(duì)象的實(shí)現(xiàn).我們需要先建立一個(gè)JavaBean為值對(duì)象,用來將用戶的基本數(shù)據(jù)封裝進(jìn)去,該實(shí)體在結(jié)果對(duì)象和結(jié)果列表中都會(huì)使用到Users.java代碼如下:Java代碼??1.package?com.jsontostruts2.vo;??2.??3./**?4.?*?
?5.?*?創(chuàng)?建?人:ChenTao?6.?*?
?7.?*?創(chuàng)建日期:2009-5-18?下午05:24:48?8.?*?
?9.?*/??10.public?class?Users?{??11.??
4、12.????private?Integer?userId;??13.??14.????private?String?userName;??15.??16.????private?String?sex;??1.??2.????public?Users()?{??3.??4.????}??5.????//?get...?set....?略......??6.}???實(shí)現(xiàn)UserAction.java源碼如下:Java代碼??1.package?com.jsontostruts2.action;??2.??3.import?com.googlecode.jsonplu
5、gin.annotations.JSON;??4.import?com.jsontostruts2.vo.Users;??5.import?com.opensymphony.xwork2.ActionSupport;??6.??7./**?8.?*?
?9.?*?創(chuàng)?建?人:ChenTao?10.?*?
?11.?*?創(chuàng)建日期:2009-5-18?下午05:22:50?12.?*?
?13.?*/??14.@SuppressWarnings("serial")??15.public?class?UserAction?extends?ActionSupp
6、ort?{??16.??17.????private?Users?users;??18.??????19.????@JSON(name="USER")??20.????public?Users?getUsers()?{??21.????????return?users;??22.????}??23.??24.????public?void?setUsers(Users?users)?{??25.????????this.users?=?users;??26.????}??27.??28.????@Override??29.????public?String?exe
7、cute()?throws?Exception?{??30.????????users?=?new?Users();??31.????????users.setUserId(1);??32.????????users.setUserName("ctojxzsycztao");??33.????????users.setSex("男人");??34.????????return?SUCCESS;??1.????}??2.??3.}???接下來我們需要配置struts.xml文件,為了在現(xiàn)下面不再重復(fù)寫該文件,這里我將結(jié)果對(duì)象和列表的請(qǐng)求控制一并貼上來,文件內(nèi)容:Xm
8、l代碼??