有这么种需求,例如我需要提交整个表格数据进行数据更新,下面列出两种提交,一种是form直接提交,一直是异步ajax提交:

1.form提交方式:

jsp代码:主意input中name的写法,提交User数据:

<body>
    <form action="${contextPath}/user/testdemo" id="uform" method="post">
    <table >
    <td>用户名</td><td>密码</td><td>年龄</td>
    <td><input value="aa" name="users[0].username"/></td> 
<td><input value="aa" name="users[0].password"/></td> <td><input value="aa" name="users[0].age"/></td>

    <td><input value="bb" name="users[1].username"/></td><td><input value="bb" name="users[1].password"/></td> <td><input value="bb" name="users[1].age"/></td>

    </table>

   <input type="submit" value="提交"/>
    </form> 
</body>

springmvc后台接受方法:

@RequestMapping(value = "testdemo", method = RequestMethod.POST)
public @ResponseBody
String testdemo(HttpServletRequest request, Map<String, Object> map,UserList userlist) {UserList为接收数据
return "ok";
}

UserList类:

public class UserList {
    private List<User> users ;
    public List<User> getUsers() {
    return users;
    }
   public void setUsers(List<User> users) {
   this.users = users;
   }
   }

User类:省略了set get方法:

public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(length = 32)
private int id;


@Column(length = 32)
private String username;


public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

@Column(length = 32)
private String password;

@Column(length = 32)
private String age;

2.ajax异步提交方式:

jsp中代码:

<body>
    <form action="${contextPath}/user/testdemo" id="uform" method="post">
    <table >
    <td>用户名</td><td>密码</td><td>年龄</td>
    <td><input value="aa" name="users[0].username"/></td> <td><input value="aa" name="users[0].password"/></td> <td><input value="aa" name="users[0].age"/></td>
    <td><input value="bb" name="users[1].username"/></td> <td><input value="bb" name="users[1].password"/></td> <td><input value="bb" name="users[1].age"/></td>
    </table>
    </form> 
        <input type="button" value="提交" id="submitbtn"/>
</body>

js中代码:

<script>
$(function(){
$("#submitbtn").click(function(){
$.ajax({
type : 'post',
data : $("#uform").serialize(),
url : '${contextPath}/user/testdemo',
success : function(data) {
}
});
});
});

</script>

springmvc后台写法同第一种form提交一样不变。


Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐