Ajax实现根据输入的账号自动显示账号对应的数据信息~~
public ActionForward getAccountInfo(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {}
我想在jsp页面上调用这个action类(继承自DispatchAction)中的方法,传到这个方法中两个参数,返回一个客户信息对象~~~
该如何做呀?~~
说错了,是ajax方法的第二行
[code="html"]
[/code]
[code="js"]
// ajax方法
function ajax(){
var url = "这里填写Action的url";
url += "acctNbr=" + document.getElementById("acctNbr").value;
var oRequest=null;
// 判断是否是IE浏览器,IE的ajax和其他浏览器不一样。
var browseName=navigator.appName;
if(browseName.indexOf("Microsoft")!=-1){
oRequest=new ActiveXObject("MSXML2.XMLHTTP");
}else{
oRequest=new XMLHttpRequest();
}
// 设定ajax参数
oRequest.open("get",url,true);
oRequest.onreadystatechange=function(){
if(oRequest.readyState == 4){
if(oRequest.status == 200){
callback(oRequest);
}else if(oRequest.status==404){
alert("资源不存在");
}
}
}
// 调用ajax
oRequest.send(null);
}
// 回调方法
function callback(oRequest){
// 获取回调的字符串
var values = oRequest.responseText.split(",");
for (var ind=0; ind< values.length; ind++) {
var value = values[ind];
// 判断是否是客户姓名
if(value.indexOf("custName=") > -1)){
// 往输入框里填值
document.getElementById("custName").value = value.substring(value.indexOf("custName="), value.length);
}
}
}
[/code]
[code="java"]
public ActionForward getAccountInfo(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
...// 从form获取值,然后查找账号,这些代码我就不写了。
// 假定账号实例为acct,有连个属性账号编号acctNbr,用户名custName,且已有数据。
String value = "custName" + acct.getCustName;
response.getWriter().println(value);
}
[/code]
Js代码的第二行改成
[code="js"]
url += "?acctNbr=" + document.getElementById("acctNbr").value;
[/code]
建议试下DWR,你说的可以轻松实现