struts2+ajax 传输用户自定义的对象,而非字符串
来源:互联网 发布:unity3d塔防游戏 编辑:程序博客网 时间:2024/06/11 05:27
使用struts2+jquery进行ajax异步通信时,如何传输一个包含有多个属性的VO对象呢?
比如说,注册一个用户,用户包含username,pwd,sex等多个信息,当然最简单的方法是使用下面这种格式传输:username=“uname”&pwd=“pwd”&sex=“male”,但是我们可以直接做成一个UserVO来传输,也方便后台使用。
上面的parseParam(param, key)这个函数就是将用户传入的一个param对象(可以是一个数组或者json对象,或者字符串什么的),解析成ajax能识别的带有“&”的字符串,并且将其以用户指定的key命名的VO封装(这个动作是有struts2自动完成的,注意这里的key的值要等于后台action中VO的变量名)。
另外,为了防止工程在服务器上发布后出现找不到url的路径,可以将ajax的option中的url不要写死在js中,而是将action的url写在jsp的一个hidden域中,然后js去读取这个值,如下:
比如说,注册一个用户,用户包含username,pwd,sex等多个信息,当然最简单的方法是使用下面这种格式传输:username=“uname”&pwd=“pwd”&sex=“male”,但是我们可以直接做成一个UserVO来传输,也方便后台使用。
$("#registBtn").click(function() {var opeInfo = {"opeId":$("#opeIdText").val().trim(),"opeName1":$("#opeName1Text").val().trim(),"email":$("#emailText").val().trim(),"opeGrpId":$("#opeGrpCombo option:selected").val().trim()};var options = {url:$("#operegist_action").val(),type:'POST',dataType:'json',data:parseParam(opeInfo, 'operatorVO'),success: registResponse};$.ajax(options);});/** * Jqueryオブジェクトをajaxの出力フォーマット(id1=key1&id2=key2&...)へ変換する関数 * * @param param jqueryオブジェクト * @param key VOオブジェクト名 * @returns ajax出力フォーマットの文字列 */function parseParam(param, key) {var paramStr = "";if (param instanceof String || param instanceof Number|| param instanceof Boolean) {paramStr += "&" + key + "=" + encodeURIComponent(param);} else {$.each(param, function(i) {var k = key == null ? i : key+ (param instanceof Array ? "[" + i + "]" : "." + i);paramStr += '&' + parseParam(this, k);});}return paramStr.substr(1);}
上面的parseParam(param, key)这个函数就是将用户传入的一个param对象(可以是一个数组或者json对象,或者字符串什么的),解析成ajax能识别的带有“&”的字符串,并且将其以用户指定的key命名的VO封装(这个动作是有struts2自动完成的,注意这里的key的值要等于后台action中VO的变量名)。
另外,为了防止工程在服务器上发布后出现找不到url的路径,可以将ajax的option中的url不要写死在js中,而是将action的url写在jsp的一个hidden域中,然后js去读取这个值,如下:
<input type="hidden" id="operegist_action"value="<s:url namespace="/opemgr_ajax" action="operegist"/>">
0 0
- struts2+ajax 传输用户自定义的对象,而非字符串
- 用户是好奇而脆弱的对象
- ajax传输字符串
- ajax+fastJson 对象传输
- struts2实现ajax传输json
- JavaScript对象字面量(即JavaScript用户自定义对象)与JSON字符串的区别:
- Struts2+jquery+Ajax实现json数据的传输
- AXIS 传输自定义对象
- 对字符串类型的split,而非char类型
- Ajax Post 传输对象或数组的解决方案
- C# socket传输自定义对象
- C# socket传输自定义对象
- 再谈JavaScript的用户自定义对象
- ajax的异步传输
- Struts2+Ajax用户验证注册
- 利用Struts2的用户登录全部代码 ajax异步请求
- dataTables/ajax/struts2/jquery的用户管理表实现
- 定义字符串变量是字符串的管理者而非拥有者
- Eclipse安装server插件
- c# 获取路径
- angular ui-grid之过滤器设置
- TCP、UDP
- WinDbg-如何抓取dump文件
- struts2+ajax 传输用户自定义的对象,而非字符串
- cesium学习笔记之五——Linux下部署cesium项目
- js空串判断
- SpringMVC上传文件
- 常用的JavaScript验证正则表达式
- Dump 文件生成与分析
- 类加载器的父委托机制
- Android 抽屉效果的导航菜单实现
- struts2 s:form标签排版问题