0 0

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

我的control代码如下:

@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" ;
	}
	
	
}



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


public class User implements Serializable {

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


页面代码如下:


<form:form method="post" modelAttribute="user" action="user/add">
<form:errors path="*" cssClass="error" />
<table>
  <tr>
    <td>Court Name</td>
    <td><form:input path="name" /></td>
    <td><form:errors path="name" cssClass="error" /></td>
  </tr>
  <tr>
    <td>pass</td>
    <td><form:input path="pass" /></td>
    <td><form:errors path="pass" cssClass="error" /></td>
  </tr>
  <tr>
    <td>age</td>
    <td><form:input path="age" /></td>
    <td><form:errors path="age" cssClass="error" /></td>
  </tr>
  <tr>
    <td colspan="3"><input type="submit" /></td>
  </tr>
</table>
</form:form>


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



有没有办法不显示0 ,显示为空啊?
2013年1月20日 15:53
  • 大小: 1.7 KB

2个答案 按时间排序 按投票排序

0 0

采纳的答案

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

2013年1月20日 16:45
0 0

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

<body onload="if(document.getElementById('age').value=='0')document.getElementById('age').value='';">
.....
</body>


jQuery代码:

$(function(){
if($('#age').val()=='0'){
  $('#age').val('');
}
});

2013年1月21日 08:27

相关推荐

    Spring3MVC 在JSP中使用@ModelAttribute

    通过以上讲解,我们可以看出`@ModelAttribute`在Spring MVC中扮演着重要的角色,它简化了数据绑定的过程,提高了代码的可读性和维护性。在实际项目中,合理利用`@ModelAttribute`可以极大地提高开发效率,同时也能...

    Spring MVC表单标签库

    本篇文章将深入探讨Spring MVC中的表单标签库,以及如何在实际项目中使用它们来创建动态、交互式的表单。 1. **表单标签库介绍** Spring MVC的表单标签库是JSP的一部分,它可以生成HTML表单元素,并且能够自动绑定...

    Spring web MVC和spring 2.0 form tag解说

    当用户提交表单时,Spring MVC会自动将表单数据绑定到指定的模型对象,然后在控制器中进行验证和处理。如果存在验证错误,这些错误可以通过BindingResult对象获取并在视图中显示。 总结,Spring Web MVC和Spring ...

    spring mvc 参数绑定漏洞

    3. **默认配置不当**:Spring MVC的默认配置可能允许过于宽松的数据绑定,例如允许空值绑定到非null字段,或者允许任意类型的参数绑定。 针对这些风险,开发者可以采取以下措施来增强Spring MVC应用的安全性: 1. *...

    Spring3 MVC 深入研究

    在实际项目中,Spring3 MVC常与其他Spring模块如Spring JDBC、Spring Data JPA等配合使用,实现数据库操作。同时,结合Spring Security提供安全控制,Spring AOP实现切面编程,提升代码的可维护性。 总结,Spring3 ...

    最全最经典spring-mvc教程

    错误处理和异常处理也是Spring MVC中的重要部分,通过@ControllerAdvice和@ExceptionHandler可以全局处理异常,提供统一的错误页面。 最后,测试是任何应用程序开发的重要环节。Spring MVC提供了MockMVC,可以在不...

    spring3MVC 框架demo

    在Spring3MVC中,文件上传通常使用`CommonsMultipartResolver`解析器来处理多部分请求。你需要在`servlet-context.xml`中配置它,并在Controller中定义处理文件上传的接口。`MultipartFile`是Spring提供的接口,用于...

    spring3mvc如何把checkbox的值绑定到model对象的int数据类型.pdf

    以下是如何在Spring 3 MVC中实现这一功能的详细步骤: 首先,我们需要创建一个model对象,例如`User.java`,这个类通常会包含用户的属性。在给出的例子中,`User`类有以下几个属性:`id`、`name`、`gender`、`age`...

    spring MVC数据绑定大全

    如果Spring MVC的默认行为不能满足需求,可以通过实现`org.springframework.web.bind.WebDataBinder`的初始化方法`initBinder()`来自定义数据绑定的行为,例如设置特定属性的约束或自定义转换器。 ```java @...

    spring-mvc-官方中文文档

    15. **国际化和本地化**:Spring MVC 支持 i18n 和 l10n,通过 MessageSource 和 LocaleResolver 实现多语言支持。 通过阅读《Spring MVC 官方中文文档》,开发者可以全面了解并掌握 Spring MVC 的使用,从而更有效...

    spring3.0 MVC中文教程

    3. **第3部分:在Spring 3.0 MVC中进行表单处理** - 探讨如何使用Spring MVC处理表单提交,包括数据绑定和验证。 4. **第4部分:Spring 3 MVC的Tiles支持与Eclipse中的插件教程** - Tiles框架是一种用于管理页面布局...

    Spring MVC3复杂表单终极解决办法

    在Spring MVC中,这种复杂性可以通过模型绑定(Model Binding)和数据转换(Data Conversion)机制来简化处理。 1. **模型绑定**: Spring MVC支持基于注解的模型绑定,允许开发者通过`@ModelAttribute`注解将HTTP...

    spring3 mvc jar

    10. ** 更强大的数据绑定**:Spring 3提供了更强大和灵活的数据绑定机制,允许开发者在表单和模型之间进行复杂的映射操作。 描述中的“博文链接:https://zhou-he.iteye.com/blog/1187327”可能提供了一个具体的...

    spring3 MVC实战

    spring3 MVC实战

    Spring.MVC-A.Tutorial-Spring.MVC学习指南 高清可复制版PDF

    在Spring MVC中,每个请求都会经过DispatcherServlet,这是一个前端控制器,它会根据请求的URL和配置的映射规则将请求分发到合适的处理器。处理器可以是自定义的Controller类,Controller通过方法注解(如@...

    Spring MVC启动时初始化的几个常用方法

    在Spring MVC框架中,应用程序启动时会执行一系列初始化操作,这些操作对于理解Spring MVC的工作原理至关重要。本篇文章将深入探讨Spring MVC启动时初始化的几个常用方法,并解释它们在实际开发中的作用。 首先,...

    spring3mvc如何把checkbox的值绑定到model对象的int数据类型.docx

    在Spring MVC中,将Checkbox的值绑定到Model对象的int数据类型涉及到表单数据的处理、自定义编辑器以及模型绑定。以下是如何实现这个功能的详细步骤和解释: 首先,我们有一个User类,其中包含一些属性,如id、name...

    spring3mvc导入包

    在这个"spring3mvc导入包大全"中,你将找到构建Spring3MVC项目所需的全部依赖包。 首先,Spring MVC的核心库包括`spring-webmvc.jar`。这个文件包含了Spring MVC的主要组件,如DispatcherServlet、Controller接口、...

Global site tag (gtag.js) - Google Analytics