首先准备
jquery.js
jsonplugin-0.32.jar如果是struts2.1.X那要换jsonplugin-0.33.jar
struts2开发包
struts.xml
<package name="exp" extends="json-default" namespace="/pb"> <action name="getPackage" class="expPbAction" method="searchGroupPackageInfo"> <result type="json"></result> </action> </package>
*.action 注意用json最好action方法名不要以get开头,json把Acion类中所有的已get开头的方法返回值封装
private List<TInfPackage> packageList = new ArrayList<TInfPackage>();
public List<TInfPackage> getPackageList() {
return packageList;
}
public void setPackageList(List<TInfPackage> packageList) {
this.packageList = packageList;
}
public String searchGroupPackageInfo(){
packageList = groupService.getPackageInfoByGroupCode(groupCode);
return SUCCESS;
}
*.jsp
$.ajax({
url: "pb/getPackage.action",
type: "post",
dataType: "json",
timeout: 1000,
error: function(){
alert("Error loading XML document");
},
success: function(json){var packages = json.packageList//可以能过json.*获取到action中任何一个代get方法的变量;showPackage(packages);}
});
function showPackage(packages){
$("#package").empty();//清空下拉列表
$.each(packages,function(i){//迭代json
$("<option value='"+packages[i].code+"'>"+packages[i].name+"</option>").appendTo("#package")
})
var packageCode="${packageCode}";
if(packageCode.length>0){
$("#package").attr("value",packageCode);//根据value=*选中下拉列表项
}
}
<select id="package" name="package">
</select>