AJAX收到服务器端返回的List集合后 在jsp页面上生成复选框

2024-11-26 13:28:02
推荐回答(4个)
回答1:

比如,我有一个page1.jsp页面, 里面有个按钮,点击按钮之后触发AJAX事件,AJAX事件向action传递一组参数,action通过传递过来的参数去查询数据库并返回List集合(假如名称为:userList)类型的Java对象,然后我该如果把这个List集合对象返回给page1.jsp中的AJAX,AJAX收到返回的List集合后,如何在jsp页面上生成复选框并且循环显示出List集合当前的内容?或者有更好的方法也可以,总之执行过程中浏览器不能刷新,完全依靠AJAX处理
后台代码是怎样的
public String findByid() throws Exception {
HttpServletRequest request=ServletActionContext.getRequest();
HttpServletResponse response=ServletActionContext.getResponse();
response.setContentType("text/xml;charset=utf-8");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
String xml_start = "";
String xml_end = "
";
String xml = "";
Branchinfo infod=BranchServices.BranchByid(breanchid);
Set set=infod.getDepartinfos();
Iterator iterm=set.iterator();
if(infod.getBranchid()==breanchid){
while (iterm.hasNext()) {
Departinfo depart =iterm.next() ;
xml += ""
+ depart.getDepartId()+ "
"
+ depart.getDepartname()+"
";
}
}
String last_xml = xml_start + xml + xml_end;
response.getWriter().write(last_xml);
response.getWriter().flush();
response.getWriter().close();
return "findDatescuess";
}
前台是这样(page1.jsp)
function getResult() {
var url = "Branchinfo_findByid.action?breanchid="+document.forms.LevelMenu.select1.value;
if (window.XMLHttpRequest) {
XMLHttpReq = new XMLHttpRequest();
}else if (window.ActiveXObject) {
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
if(XMLHttpReq){
XMLHttpReq.open("GET",url, true);
XMLHttpReq.onreadystatechange = complete;
XMLHttpReq.send(null);
}
}
function complete(){
if(XMLHttpReq.readyState==4){
if(XMLHttpReq.status==200){
var xmlDoc=XMLHttpReq.responseXML; //获取返回的XML文档
var citys=xmlDoc.getElementsByTagName("city");//获取XML节点
for(var i=0;i var xValue = citys[i].childNodes[0].firstChild.nodeValue;
var xText = citys[i].childNodes[1].firstChild.nodeValue;
//写到这里就不知道如何用循环生成复选框 }else{
alert( "请求异常"+XMLHttpReq.responseText);
}
}
}

回答2:




${module.moduleName }


得到list后直接循环就可以用啊,这是我们项目中用到的ajax控制checkbox的代码

回答3:

http://user.qzone.qq.com/362152069?ADUIN=362152069&ADSESSION=1309586743&ADTAG=CLIENT.QQ.3439_MyInfo_PersonalInfo.0&ptlang=2052

回答4:

看看~~