struts的action和前台的js之间的json传递,主要也就是这个字符串的封装和解析。
准备条件,需要引入struts2-json-plugin-2.3.1.2.jar包。
一:前台js代码为 $.post("provinceCityRegion_findAllProvinces.action",function(data,textStatus){
var dataObj=eval("("+data+")");//对从action中获取的json数据进行解析
//传递来的数据格式如下[{"id":1,"pname":"吉林省"},{"id":2,"pname":"辽宁省"},{"id":3,"pname":"山东省"}]
//对数据进行遍历
for(var i=0;i<dataObj.length;i++){
var option=$("<option></option>");
option.attr("value",dataObj[i].id);
option.text(dataObj[i].pname);
$("#province").append(option);
}
});
二:action中定义方法findAllProvinces,
JSONArray jsonarray=JSONArray.fromObject(provincesList);
result = jsonarray.toString();
return “sucess”;
把从数据库中查询的list集合封装成json对象
三:关键是struts.xml中的配置
packet中要继承json-default,result中type=“json”,parm设置name=“root”表示局部刷新,返回根目录页面。result表示action封装的数据,会自动获取。