SpringMVC与表单的交互方式
通过下面连接里的学习,记录一部分理解。
http://blog.csdn.net/lutinghuan/article/details/46820023
http://jxd-zxf.iteye.com/blog/2072300/
以带下标的数组形式提交表单到Controllor中,如果是<input type="text" />这种方式获取的值,空数据会使SpringMVC接受的参数不准确,并且以实际下标为准。
以隐藏域的形式可能会避免这种情况。
推荐使用Json字符串(标识符)提交
- var customerArray = new Array();
- customerArray.push({name: "李四",pwd: "123"});
- customerArray.push({name: "张三",pwd: "332"});
- var user = {};
- user.name = "李刚";
- user.pwd = "888";
- user. customers = customerArray;
- $.ajax({
- url: "<%=path%>/catalog.do?fn=saveUsers", //设置请求目标(地址,提交方式,参数类型,包括参数和返回类型)
- type: "POST",
- dataType:"json",
- data: JSON.stringify(user),//将对象序列化成JSON字符串(标识符) 另一种方式是 $.toJSON()
- contentType : 'application/json;charset=utf-8', //设置请求头信息 编码格式,因为@RequestBody默认接收的是enctype (MIME编码)
- success: function(data){ //data是返回的数据
- …
- },
- error: function(res){
- …
- }
- });
java代码
@RequestBody User user
Controller中
data: {"idList":idList,"isBatch":isBatch}
@RequestParam("idList[]") List<String> idList,Boolean isBatch
- userList.push({name: "李四",pwd: "123"});
- userList.push({name: "张三",pwd: "332"});
@RequestBody List<User> userList()
@RequestBody List<Map<String,Object>> listMap
User 等效于 Map<String,Object>
参考 (还未理解的内容)
http://www.cnblogs.com/hgmyz/p/6283327.html
http://www.cnblogs.com/qleelulu/archive/2008/04/21/1163021.html
其它一些 js 写法
获取元素的数组(更具name属性)
function fun() {
obj = document.getElementsByName("name");
var objArray = new Array(); // 创建一个数组, 另一种写法 objArray = [];
for(o in obj){// o等效下标
objArray.push(obj[o].value);
}
}
jQuery的一些注意内容
在jQuery中,prop()是操作DOM属性,attr()是操作HTML属性。(来源 http://blog.csdn.net/css_styles/article/details/51719308)
prop通常用来设置元素本身就存在的一些属性。
attr通常用来操作一些自定义类型(范围大)
jQuery中getClass获取到的只是第一个元素,需要通过each获取所有的值
var jqArray = new jqArray(); // 另一种写法 var jqArray = [];
$(".className").each(
function(key, value){
jqArray[key] = $(this).val(); // 另一种写法 jqArray[key] = $(value).val();
}
);
浙公网安备 33010602011771号