1

コントローラーにモデル オブジェクトがあります。

まあ言ってみれば

Class person{
    Date birthDay;
}

フォーム:input で表示されている場合、ユーザーが「aaaaa」と入力すると、もちろん失敗し、ユーザーを同じページに誘導し、その人物をモデルに再度配置してエラーを表示します。しかし、入力フィールドでユーザーの間違った入力を維持する方法はありますか?

<form:input path="birthday"/>

バインディングが失敗するため、空と表示されます。DTO オブジェクトを使用してすべてを文字列にする必要があるので、間違った入力が引き続き表示される可能性がありますか?

4

1 に答える 1

1

あなたの状況を再現することはできません。より多くのコードを提供できますか? 私の例は間違った入力を示しています:

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 に答える