Struts2與AJAX互動返回JSON資料
阿新 • • 發佈:2018-12-10
首先需要匯入六個jar包 這是jsp程式碼
function queryData(pageNum) {
$.ajax({
url:"queryNextPage",
data:{
"pageNumber":pageNum
},
success:function(data){
var userData=JSON.parse(data);
var tableData="<tr><td>姓名</td><td>年齡</td></tr>" ;
$.each(userData,function(index,item){
tableData+="<tr><td>"+item.name+"</td><td>"+item.age+"</td></tr>";
});
$("#showJsonData").html(tableData);
},
error:function(){
alert("網路錯誤,請稍後再試" );
}
});
}
這是struts.xml程式碼,extends需要繼承struts-default,json-default
<struts>
<package name="strutsajax" namespace="/" extends="struts-default,json-default">
<action name="queryNextPage" class="com.action.StrutsAjaxAction" method="returnJson">
<result type="json">
<param name="root">jsonString</param>
</result>
</action>
<action name="getLastPage" class="com.action.StrutsAjaxAction" method="returnLastPage">
<result type="json">
<param name="root">maxPageNum</param>
</result>
</action>
</package>
</struts>
這是action程式碼
private Integer pageNumber;
private String jsonString;
private String maxPageNum;
public String returnJson() {
JSONArray jsonArray=JSONArray.fromObject(getPageData(this.pageNumber));
this.jsonString=jsonArray.toString();
return SUCCESS;
}
public String returnLastPage() {
this.maxPageNum="25";
return SUCCESS;
}