请大家指点一下······
谢谢!
楼主,这个很容易。
我不用任何AJAX框架给你一个例子,比如选了一个组织,需要连动得到该组织的用户:
这里是个JSP页面,中间的代码省略了,
[code="java"]
html:html
……
/html:select
……
/html:html
[/code]
下面是 AJAX JS 部分:
[code="java"]
var objRequest;
var action = "";//请求路径
var method = "";//访问方法如get,post等
var formcontent = "";//提交的保单数据
function ajaxInit() {
try {
objRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
try {
objRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch(ex) {
try {
objRequest = new XMLHttpRequest();
} catch(exc) {
alert("浏览器不支持Ajax,可能会导致某些功能不能使用!");
objRequest = false;
}
}
}
}
function ajaxProcessBase(act,met,content,fuctionProcess){
action=act;
method=met;
formcontent=content;
if(objRequest){
objRequest.open(method, action, true);
objRequest.onreadystatechange = fuctionProcess;
if(method == "post"){
objRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
}
formcontent = formcontent != "" ? formcontent : null;
objRequest.send(formcontent);
}
}
//判断是否请求成功
function isAjax() {
if(objRequest.readyState == 4){
if(objRequest.status == 200){
return true;
} else {
alert("Problem: "+objRequest.statusText);
}
}
return false;
}
[/code]
下面是Struts action里面的一段:
[code="java"]
String action = form.getAction();
……
if (action.equals("queryOrgUser")) { //查找一个公估组织下面的所有公估师
Collection col = manager.queryUser(form.getOrganID());
StringBuffer sb = new StringBuffer();
httpServletResponse.setContentType("text/xml;charset=GBK");
httpServletResponse.setHeader("Cache-Control", "no-cache");
java.io.PrintWriter out = httpServletResponse.getWriter();
sb.append(" var sel= document.all['userid'] ; \r\n");
sb.append(" sel.options.length=0; \r\n");
java.util.Iterator it = col.iterator();
User user= null;
while (it.hasNext()) {
user = (User) it.next();
sb.append("var option=new Option('" + user.getName().trim() + "','" +
user.getUserid() + "');\r\n");
sb.append(" try{ \r\n");
sb.append(" sel.add(option); \r\n");
sb.append("}catch(e){ } ;\r\n ");
}
System.out.println(sb.toString());
out.print(sb.toString());
out.flush();
out.close();
return null;
}
……
[/code]
这个是我以前的一个从项目中摘出来的,绝对是有效的。