六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 34|回复: 0

简单的Ajax+Struts

[复制链接]

升级  20%

2

主题

2

主题

2

主题

童生

Rank: 1

积分
10
 楼主| 发表于 2013-1-23 02:14:24 | 显示全部楼层 |阅读模式
//实现联动JS
function createXMLHttpRequest(){   
    if(window.XMLHttpRequest){   
        xmlHttp = new XMLHttpRequest();   
    } else if(window.ActiveXObject){   
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");   
    } else {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
            function GetResult(str) {  
            createXMLHttpRequest();
            
                var url = "ciCustAccAction.do?operAtt=queryInfo&name="+str;
                url = encodeURI(url);
                url = encodeURI(url);
                xmlHttp.open("GET",url,false);   
                xmlHttp.send();   
                BuildSel(xmlHttp.responseText,document.all.sel2);
               
            }   
            function BuildSel(str,sel) {   
            if(xmlHttp.readyState == 4){   
             if(xmlHttp.status == 200){   
               sel.options.length=0;   
                var arrstr = new Array();   
                 arrstr = str.split(",");   
                 for(var i=0;i<arrstr.length;i++) {   
                 sel.options[sel.options.length]=new Option(arrstr[i],arrstr[i]) ;  
              }   
            }   
            }   
            }

Struts中方法:
public ActionForward queryInfo(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
                   //获取请求中传值
String name = request.getParameter("name");
try {
// 中间用ISO-8859-1过渡
byte[] b = name.getBytes("ISO-8859-1");
// 转换成GB2312字符
// name = new String(b, "GB2312");
name = java.net.URLDecoder.decode(name, "UTF-8");
} catch (Exception e) {
e.printStackTrace();
}
String returnName = getSel(name);
try {
response.setContentType("text/xml;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
request.setCharacterEncoding("UTF-8");
response.getWriter().print(returnName);

} catch (IOException ex) {
ex.printStackTrace();
}
return null;
}
         //返回值到JS中
public String getSel(String name) {
if (name != null && ("1").equals(name)) {
return ("快钱");
}
if (name != null && ("2").equals(name)) {
// 操作数据库进行查询

return

("工商银行,农业银行");
}
return "";
}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表