我的 Controller 中有一个模型对象。
比方说
Class person{
Date birthDay;
}
当它以表单显示时:输入,如果用户输入“aaaaa”,当然会失败,我只是将用户引导到同一页面并通过再次将人置于模型中来向他们显示错误。但是有没有办法让用户在输入字段中保持错误的输入呢?
<form:input path="birthday"/>
只会显示空,因为绑定(bind)失败。我是否必须使用 DTO 对象并将所有内容都设置为字符串,以便仍然可以显示错误的输入?
最佳答案
我无法复制你的情况。你能提供更多的代码吗?我的 exapme 显示错误的输入:
public class Person {
private Date birthDay;
public void setBirthDay(Date birthDay) {
this.birthDay = birthDay;
}
public Date getBirthDay() {
return birthDay;
}
}
Controller :
@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>
关于java - spring以:input形式显示错误的用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11784449/