1

我的控制器中有一个模型对象。

比方说

Class person{
    Date birthDay;
}

当它以表单形式显示时:输入,如果用户输入“aaaaa”,当然它会失败,我只是将用户引导到同一页面并通过再次将人重新建模来向他们显示错误。但是有没有办法让用户在输入字段中输入错误?

<form:input path="birthday"/>

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

4

1 回答 1

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>
于 2012-08-07T16:34:13.620 回答