---------js向action返回jsp的页面请求----------------------------------------------------------------------------
FIRST ={
init:function(){
$.ajax({
type:"POST",
url:"getwebpage.do",//action的路径
cache:false,
async: false,
dataType:"html",//action接收请求后响应返回的数据类型,其它可选类型xml,html,script,json,jsonp,text
data:{"pagename":"first"},//也可以写成change方法中的形式
beforeSend: function(XMLHttpRequest){
},
success: function(data, textStatus){
$("#workBodyId").html(data);//返回的html类型的data放在当前页面
},
complete: function(XMLHttpRequest, textStatus){
},
error: function(XMLHttpRequest, textStatus, errorThrown){
ERROR.show("LoginAccountManager Exception Connect Administrator");
}
});
return this;
},
checkname:function(){
var reciver_id=$("#reciver").attr("value");//从jsp中获取id为reciver的控件value值
var jdata = $.parseJSON('{"reciver_id":"'+reciver_id+'","pagename":"checkname"}');
$.ajax({
type: "POST",
url: "getwebpage.do",
cache: false,
async: false,
dataType:"html",
data: jdata,
beforeSend: function(XMLHttpRequest){
},
success: function(resultdata, textStatus){
$("#workBodyId").html(resultdata);
PM.setFuncName("发送通知");
},
complete: function(XMLHttpRequest, textStatus){
},
error: function(XMLHttpRequest, textStatus, errorThrown){
//alert("error");
//ERROR.show(" Exception Connect Administrator"+textStatus);
//alert("wrong:"+XMLHttpRequest.responseText);
alert(errorThrown);
//alert("textStatus:"+textStatus+"*XMLHttpRequest:"+XMLHttpRequest+"*errorThrown:"+errorThrown);
}
});
},
change:function(result){
var res = result;//jsp中调用当前方法所传进来的参数
var jdata = $.parseJSON('{"res":"'+res+'","pagename":"first_change"}');
$.ajax({
type:"POST",
url:"getwebpage.do",
cache:false,
async: false,
dataType:"html",
data:jdata,
beforeSend: function(XMLHttpRequest){
},
success: function(data, textStatus){
$("#workBodyId").html(data);
},
complete: function(XMLHttpRequest, textStatus){
},
error: function(XMLHttpRequest, textStatus, errorThrown){
ERROR.show("LoginAccountManager Exception Connect Administrator");
}
});
return this;
},
};
----------------------jsp-----------------------------------------------------------------------------------------------------
jsp与action传递信息:1)可以通过request.getAttribute()和request.setAttribute()方法来传递信息
2)可以再将jsp的表单信息属性封装到一个FORM类中进行传递(form类属性绑定的是控件的name属性)
jsp与js传递信息:1)jsp可以直接调用js中的方法,格式:FIRST.init();
2)js可以通过$("#reciver").attr("value");获取jsp中id值为reciver的控件value值
------------------------action-------------------------------------------------------------------------------------------------
action获取js中jdata 的方法:
1)循环获取
Enumeration test = request.getParameterNames();
String name=null;
String nameValue=null;
while(test.hasMoreElements()){
name=(String)test.nextElement();
nameValue=request.getParameter(name);
System.out.println("name="+name+";value="+nameValue);
}
2)直接获取
String nameValue = request.getParameter(name);
获取jsp中的值在JSP处已经说明
在action中返回一个JSON串给js
ResultJsonObj result = new ResultJsonObj();
userBaseInfoBean = (UserBaseInfoBean) session.getAttribute("userBaseInfoBean");
JSONArray menuArray = new JSONArray();
int menuItemCount = 0;
while( menuItemCount < userBaseInfoBean.menuList.size() ){
JSONObject menuTiem = new JSONObject();
UserMenuBean temp = (UserMenuBean) userBaseInfoBean.menuList.get(menuItemCount);
menuTiem.put("menuFuncId", ""+temp.sys_function);
menuTiem.put("menuSubFuncId", ""+temp.sub_function);
menuTiem.put("menuName", temp.sys_menuname);
menuTiem.put("menuExecName", ""+temp.sys_execname);
menuTiem.put("menuView", ""+temp.sys_menuview);
menuTiem.put("menuClass", ""+temp.sys_menuclass);
menuArray.add(menuItemCount++,menuTiem.toString());
}
String data = "\"userName\":\""+userBaseInfoBean.userName+"\",\"menuArray\":"+menuArray.toString();
results.setOK(data);
request.setAttribute("results",result.toString());
------------------------------------------------------------------------------------------------------------------------------