首先需要导包
commons-beanutils-1.7.0.jar
commons-collections-3.2.1.jar
commons-lang-2.3.jar
commons-lang3-3.1.jar
commons-logging-1.0.4.jar
后台接受前台需用set get方法
这是action
public class Action extends ActionSupport {
private long num;
private int type;
String documentType;
public long getNum() {
return num;
}
public void setNum(long num) {
this.num = num;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String show() throws IOException {
Gson sGson = new Gson();
//第一种
/*JSONArray jsonArray = new JSONArray() ;
for(int i=0;i<2;i++){
Object[] objects = new Object[1];
objects[0]=1;
objects[1]=URLEncoder.encode("https://www.baidu.com/", "utf-8");//进行转码
}
jsonArray.add(objects);
String json = sGson.toJson(jsonArray);*/
//第二种 不用jsonArray
List list =new ArrayList<>();
for (int i = 0; i < 5; i++) {
list.add(1);
}
String json = sGson.toJson(list);
ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
ServletActionContext.getResponse().getWriter().write(json);
System.out.println(num);
System.out.println(type);
return null;
}
}
这是js前台代码
var params= $.param({
'num' : 123,
'type' : 456,
}, true);
$.ajax({
/*第一种*/
/* type : 'POST',
url : 'Action ',
async:true,
data :params,
success : function(data) {
data =JSON.parse(data);
for ( var x in data) {
data[x][1]=decodeURI(data[x][1], "utf-8");//解码
console.log(data);
}
},*/
/*第二种*/
type : 'POST',
url : 'Action ',
dataType : "json",
async:true,
data :params,
success : function(data) {
for (var i = 0; i < data.length; i++) {
data[x]的值为1
/*如果里面为对象可以直接.出属性*/
}
console.log(data);
error : function() {
console.log("errpr");
}
});
struts代码