spring3mvc 关于form表单中modelAttribute绑定实体时 整型初始化

我的control代码如下:
[code="java"]

@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService ;

@ModelAttribute("user")
public User getUser(){
    System.out.println("------getUser()-----");
    return new User();
}

@RequestMapping()
public String userInit(){
    return "test/user";
}

@RequestMapping("/add")
public String saveUser(@ModelAttribute("user") User user,Model model) throws Exception{

    userService.saveUser(user) ;

    return "redirect:user/list" ;
}

@RequestMapping("/list")
public String getAllUser(Model model){
    System.out.println("size="+userService.getAllUser()) ;
    model.addAttribute("userList", userService.getAllUser()) ;
    return "test/user" ;
}

}
[/code]

当我访问user/list时候,会先调用public User getUser()方法初始化user对象,用来在页面的form中绑定提交表单,
user实体对象的代码如下

[code="java"]

public class User implements Serializable {

private String name ;
private String pass;
private int age ;
//getter and setter

}
[/code]

页面代码如下:

[code="html"]


Court Name
pass
age

/form:form
[/code]

这里 modelAttribute="user" 绑定了后台public User getUser()初始化的User对象,但是User对象里面有一个int类型的age属性,初始化以后age=0 在页面中所以显示了0,

有没有办法不显示0 ,显示为空啊?

使用对象类型,把int改为用Integer。

这不是springmvc的框架决定的事,而是Java基本语法决定的,建议你好好理解一下Integer和int的区别,另外还可以在页面初始化后进行处理,所以有两个解决方法:
一、像@heichong讲的那样,将int改为Integer,这样初始值为null,在页面上显示就是空值
二、在页面上用JavaScript处理
一般JS代码
[code="html"]


.....

[/code]

jQuery代码:

[code="javascript"]
$(function(){
if($('#age').val()=='0'){
$('#age').val('');
}
});
[/code]