序列化示例
简单类型
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());
}