今天写项目,需要后台返回一组json数据,其实这个struts2返回json数据网上教程挺多的,我也只是简单的记录一下。
struts2框架已经为我们准备好了相关的jar包
第一步:导入struts2-json-plugin-2.5.16.jar包(struts2自带)
第二步:封装一个需要返回json数据的类,例如:
package domain;
public class JsonData {
private String location;
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
}
只封装了一个“location”的数据
第三步:创建一个action,例如:
package web;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import domain.JsonData;
public class JsonAction extends ActionSupport implements ModelDriven<JsonData>{
JsonData jsonData=new JsonData();
public String returnJson() throws Exception {
String myData ="I am the data";
if(LJ!=null) {
jsonData.setLocation(myData);
}
return SUCCESS;
}
@Override
public JsonInfo getModel() {
return jsonData;
}
}
将myData的值赋给“location”属性。
第四步:配置struts.xml
<package name="myBlog" namespace="/" extends="json-default">
extends改为“json-default”
配置action
<action name="JsonAction_*" class="web.JsonAction" method="{1}">
<result name="success" type="json">JsonInfo</result>
</action>
注意:我这action配置的是动态方法
这里result的type是json,result标签里是JsonInfo,必须是之前封装json数据的类