2012-02-21 2 views
0

내가봄 3.1 양식 <Date>

public class TestForm { 
private long id; 
private List<Date> dates; 
// getters and setters for the above 
} 

그리고 내 컨트롤러는 다음이 있습니다 ..

@RequestMapping(value = "/assignDummy", method = RequestMethod.POST) 
public @ResponseBody 
String assignDates(TestForm frm) { 
    System.out.println("frm:"+frm.getId()+", date:"+frm.getDates()); 
    return "Everything is fine"; 
} 

내 양식 ..

<form name="abc" method="post" action="assignDummy.htm"> 
<input type="text" name="id" value="1000"> 
<input type="text" name="dates[0]" value="4500000"> 
<input type="submit"> 
</form> 

내가받을 양식 개체가 목록에 바인딩 다음 오류가 발생했습니다 ..

'java.lang.String'유형의 속성 값을 으로 변환하지 못했습니다. 'dates [0]'속성에는 'java.util.Date'필수 유형이 필요합니다. 예외는 org.springframework.core.convert.ConvertFailedException입니다 : 값이 '4500000'의 경우 java.util.Date를 입력하기 위해 java.lang.String 유형을 변환하지 못했습니다. 상자의 예외는

어떤 도움에 감사드립니다 "java.lang.IllegalArgumentException가 있습니다. 사전에 감사

답변

2
당신은 그것을 변환하지 않고 날짜에 캐릭터를 넣어하려고

, 그래서 충돌합니다. 당신은 사용해야합니다 날짜로 입력 문자열로 변환하기 위해 사용자 정의 속성 편집기.

시도는 내가 그것을 알아 냈어, 컨트롤러에

@InitBinder 
    public void initBinder(WebDataBinder binder) { 
     CustomDateEditor editor = new CustomDateEditor(new SimpleDateFormat("MM/dd/yyyy"), true); 
     binder.registerCustomEditor(Date.class, editor); 
    } 
+0

감사를 추가 기본 날짜 형식은 YYYY/MM/dd입니다. 그런 식으로 사용할 것입니다. – moh

관련 문제