序列化示例
简单类型
java
示例1
<form action="#" method="post">
<input type="text" name="content" />
<input type="password" name="password" id="password"/>
<input type="button" value="提交" onclick='con();'/>
</form>
<script>
function con(){
var data = $("form").serialize();
alert(data);
$.ajax({
url:"<%=request.getContextPath()%>/hello.do",
type:"POST",
data:data,
success:function(data){
}
});
}
后台
@RequestMapping ( "/hello" )
//data中的name与这里的参数一一对应
public void hello(String content, String password) throws Exception {
System.out.println(content+"\t"+password);
}
checkbox类型
java
示例2(在示例1的基础之上,前台添加以下代码,后台重写)
<input type="checkbox" name="checkbox" value="checkbox1"/>checkbox1
<input type="checkbox" name="checkbox" value="checkbox2">checkbox2
<input type="checkbox" name="checkbox" value="checkbox3">checkbox3
后台
@RequestMapping ( "/hello" )
public void hello(String content, String password, String[] checkbox) throws Exception {
System.out.println(content+"\t"+password);
for(String s:checkbox)
System.out.println(s);
}
之前的序列化示例是,表单中的name字段与后台方法参数一致;然而一旦字段多了,后台参数也就多了,会造成不方便,所以有了其他方法,参数可以是类,但是类的字段名要与表单字段name一致
后台参数为类
java
@RequestMapping ( "/hello" )
public void hello(Person p) throws Exception {
System.out.println(p.getName());
System.out.println(p.getPassword());
}