第一种情况(返回String型值):
java代码中的方法:
public String getSessionUser(int id,HttpServletRequest request) throws InteriorException{
return "我的测试";
}
javascript中的调用方法:
<script type='text/javascript' src="../dwr/interface/MakePreventChangesNoAction.js"> </script>
<script type='text/javascript' src="../dwr/engine.js"> </script>
<script type='text/javascript' src="../dwr/util.js"> </script>
<script>
function getSessionUser(){
var id = $F("id");
MakePreventChangesNoAction.getSessionUser(id,function(returndata) {
DWRUtil.setValue(这里写div或输入域的id, returndata);
});
}
</script>
第二种情况(返回map值):
- JScript code
-
CardrechargeAction.pay(custId,cardId,cardPwd,function(messages){ if(messages.appcode=="0.0"){ document.getElementById("balance").innerText=messages.balance; document.getElementById("print_balance").innerText=messages.balance; document.getElementById("cardstatus").innerText=messages.cardstatus; document.getElementById("lasttime").innerText=messages.lasttime; document.all.print.disabled=false; } document.getElementById("updatetip").innerText=messages.msgtip; });
其中的messages就是CardrechargeAction的pay方法的返回值,CardrechargeAction的pay方法如下:
- Java code
-
public Map pay(String custId, String cardId, String cardPwd,HttpSession session) { System.out.println("custId :"+custId);//取得js传递过来的参数 Map messages = new HashMap(); messages.put("balance","hello"); messages.put("cardstatus","haha"); messages.put("lasttime","2007-01-07"); return messages; }
上面就是一个简单的小例子,在js中的messages就代表pay方法返回的Map messages对象。
第三种情况(返回boolean值):
Java codepublic boolean getSessionUser(HttpServletRequest request) throws InteriorException{ CpOperate oper = new CpOperate(Constants.C_SESSION_USER); TblUser user = oper.getLogintblUser(request); boolean f=false; if(user!=null)f= true;else f= false; return f; }你可以试试这样写:
function isLogin(){
var result;
AddHint.getSessionUser(function(info){
if(info==false){
alert('您未登录或者登陆时间过长,请先登录再操作.');
//returnfalse;
}
result=info;
}
);
return result;
}
看看这样能不能在test中获取值