form表单
<form id="formID">
ID:<input type="text" name="id"/>
名称:<input type="text" name="name"/>
<input type="submit" value="提交"/>
</form>
bean对象
public class User(){
private Integer id;
private String name;
public void setId(Integer id){
this.id = id;
}
public void setName(String name){
this.name= name;
}
public Integer getId(){
return id;
}
public Integer getName(){
return name;
}
}
Q1:为什么要用Integer而不用int
需要注意的是,如果Controller方法参数中定义的是基本数据类型,但是从页面提交过来的数据为null或者””的话,会出现数据转换的异常。也就是必须保证表单传递过来的数据不能为null或””,所以,在开发过程中,对可能为空的数据,最好将参数数据类型定义成包装类型
参考博文:https://www.cnblogs.com/HD/p/4107674.html
Q2:如果表单属性和模型属性名称不一致,springMVC如何进行转换利用了哪个注解方式
表单中input的name值和Controller的参数变量名保持一致,就能完成数据绑定,如果不一致可以使用@RequestParam注解,@RequestParam??
就好比上面的那个表单,如果输入框的id的name属性值不是id改成inputId和bean也就是模型对象的属性名称不一样应该怎么获取表单提交的id值呢可以参照下面的java代码
@RequestMapping("testRequestParam")
public String getData(@RequestParam(value="inputId") int id, HttpServletRequest request) {
System.out.println(id);
int inputId = Integer.valueOf(request.getParameter("inputId"));
System.out.println(inputInt);
// ......省略
return "index";
}
此时上面输出都是表单提交的id值,这样即使表单参数名和模型参数名不一致也是可以获取到值,但是这样不太方便,特别是参数多的时候,所以最好表单参数名称和模型参数名称一致,这样springMVC就可以直接封装并且不需要再去考虑数据类型的转换.
@RequestMapping("testRequestParam")
public String getData(User user) {
System.out.println(user.getId());
return "index";
}
至于为什么springMVC可以实现这个强大的功能,可以看这篇博文
http://www.cnblogs.com/ldcsaa/archive/2012/02/16/2353030.html
参考博文:
http://825635381.iteye.com/blog/2196911
`$("#fromID").param(),
$("#formID").serialize(),
$("#formID").serializeArray()
Q5: $(‘#orgForm’).ajaxForm(options)的用法,挺特别的
首先这是jq关于form表单的插件,他的具体用法归纳是这样,https://www.cnblogs.com/chinali/archive/2012/12/12/2800144.html
就是先下载插件,然后按照他的语法格式进行传值,只是在原来的ajax,form传值上进一步封装而已,至于这样性能比较还不知道
Q6:jq ajax传值的几个函数
$("").get({
url:
data:
datatype://服务端返回的数据类型
callback://回调函数
})
$("").post({
url:
data:
datatype:
callback://回调函数
})
$("").ajax({
method:"get"|"post"
url:""//请求路径
data://需要提交的数据???类型如何写??
async:true|false//是否异步刷新true表示是,默认是true
datatype://服务器返回的数据类型,xml,json,string等
success:function(result){
//执行成功的操作,result是服务端返回的数据
}
error;function(result){
}
})
另外一种写法:可以把json提出来
var configObj = {
method //数据的提交方式:get和post
url //数据的提交路劲
async //是否支持异步刷新,默认是true
data //需要提交的数据
dataType //服务器返回数据的类型,例如xml,String,Json等
success //请求成功后的回调函数
error //请求失败后的回调函数
}
$.ajax(configObj);//通过$.ajax函数进行调用
参考文章的链接
1.http://blog.csdn.net/liujiahan629629/article/details/22229669
2.jq API文档http://hemin.cn/jq/
3.http://blog.csdn.net/zhangdaiscott/article/details/18456215
4.https://www.cnblogs.com/klwyrn/p/5955152.html讲真没多大明白这个博客讲的