2012-08-02 71 views
1

我在我的控制器中有一个模型对象。春天显示窗体中输入错误的用户输入:输入

假设

Class person{ 
    Date birthDay; 
} 

当它显示形式:输入,如果用户输入“AAAAA”,当然它会失败,我只是直接的用户到同一页面,并显示他们的错误再次将该人模型化。但有没有办法让用户在输入字段输入错误?

<form:input path="birthday"/> 

只会显示为空,因为绑定失败。是否必须使用DTO对象并将所有内容都设置为字符串,以便仍然可以显示错误的输入?

+0

什么是异常消息,什么是你的宣言?你在@InitBinder方法中注册日期编辑器(它是SQL还是util日期)? – 2012-08-03 13:56:22

+0

通常你要做的是在错误信息中显示“错误”的输入。像“aaaaa不是有效的日期” – mfirry 2012-08-03 14:00:07

回答

1

我无法复制您的情况。你能提供更多的代码吗?矿exapme显示输入错误:

public class Person { 

private Date birthDay; 

public void setBirthDay(Date birthDay) { 
    this.birthDay = birthDay; 
} 

public Date getBirthDay() { 
    return birthDay; 
} 
} 

控制器:

@Controller 
@RequestMapping("/person") 
public class PersonController { 



@RequestMapping(value ="/edit", method=RequestMethod.GET) 
public String edit(Person person, BindingResult result){ 

    return "person/edit";  
} 

@RequestMapping(value ="/edit", method=RequestMethod.POST) 
public String submit(Person person, BindingResult result){ 
    if(result.hasErrors()){ 
     return "person/edit"; 
    } else { 
     return "redirect:person/edit.ss"; 
    } 
} 

jsp中:

<%@ page language="java" contentType="text/html; charset=UTF-8" 
pageEncoding="UTF-8"%> 
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> 
<form:form method="POST" modelAttribute="person"> 
Birth day: <form:input path="birthDay" /><form:errors path="birthDay" /> 
<br /> 
<input type="submit" value="Submit" /> 
</form:form>