Form表單提交
基本數據類型
@requestMapping(“method.do(請求路徑名)”)
Public void test(int count){}

表單中的name值必須和controller的參數變量名保持一致。
如果不一致可以使用@RequestParam()注解綁定請求參數
如果頁面傳遞的參數為“”或者null會報錯,
包裝類型


和基本類型使用方法相同。
如果前台的傳遞的值為null或者“”則controller中對應的變量值為null;
自定義復合對象類型




所需信息封裝成一個自定義的對象,變量名需要和表單中的name名稱相同,
User對象中有ContactInfo屬性,在表單代碼中,需要使用“屬性名(對象類型的屬性).屬性名”來命名input的name。
list綁定

Controller方法中不能直接使用list參數。不能像下面這么寫,會報錯。Could not instantiate bean class [java.util.List]: Specified class is an interface
使用list傳遞參數的時候,

缺點:那么名稱易錯。當需要單獨傳遞一個list的時候很麻煩
set綁定
Set和list一樣需要綁定到對象上才能夠傳遞。
而且,在對象中必須要添加相應數量的模型對象。傳多少個就要添加多少個user對象。

接受數據方式:

缺點;比list更麻煩。
map綁定
Map比較靈活,它也需要綁定在對象上,而不能直接寫在Controller方法的參數中。
綁定對象:

接收數據:

提醒

添加Required=false 表示如果參數a為空或者null,不拋出異常。
使用pojo方式接收參數,前台屬性的name值,需要和javabean中的屬性名一致。Model 用來向前天發送數據。
多選框傳值:
如果前台有相同name值的數據傳遞則要使用數組來接收,相同名稱的可能是有這樣的數值但更多的是多選框,所以我們要使用數組來接收這樣的值
@RequestMapping(value="select.do")
public Stringhello(String []username,Model model){
System.out.println(username.length)
Stringname1=username[0];
Stringname2=username[1];
model.addAttribute("helloworld", "hello"+name1+name2);
return"welcome";
}
httpservletRequest獲取前台傳遞的參數:
@RequestMapping(value="/hello.do")
publicString hello(HttpServletRequest request,Model model){
String name=request.getParameter("name");
System.out.println(name);
model.addAttribute("helloworld","hello"+name);
return"welcome";
}
向前台發送參數:
傳遞對象:

傳遞list集合:

在modelandview對象中添加數據:

使用map。跟model方法類似。

異步傳參方法:
前台發送:
$.ajax({
url:"selectinfo.do",
type:"post",
data:{name:"name1",age:2},
dataType:"json",
success:function(data){
arr=eval(data);
alert("長度"+arr.length);
alert(arr);
for(var i=0;i<arr.length;i++){
alert("內容"+arr[i].title);
}
}
});
接收方式:
使用request接收

直接用變量參數接收

用javabean對象接收

