2011-09-25 3 views
0

JSP 상관하지 않습니다봄 @ModelAttribute는 커맨드 이름에 대해

<form:form commandName="editWeather" method="post" action="../edit"> 
    <!-- Input fields --> 
    <input type="submit" value="Submit"> 
</form:form> 

을 그리고 이것은 내가 봄 모델 얻을 방법은 다음과 같습니다

@ModelAttribute("DONTGIVEADAMN") Weather weather 

을 그리고 난 아직도 내 작업을 수행 할 weather을 사용할 수 있습니다 예를 들면 다음과 같습니다.

weatherService.editWeather(weather); 

내 질문은 ... 왜 작동합니까?

답변

5

양식에서받은 데이터를 바인딩 할 때 (양식 필드의 이름이 모델 개체의 필드 이름과 일치하기 때문에) 모델 속성 이름은 중요하지 않으며 양식을 렌더링 할 때만 중요합니다.

특히, 처리자 메서드 POST의 모델 속성 이름이 commandName과 일치하지 않으면 데이터를받을 수는 있지만 유효성 검사 오류가있는 양식을 다시 표시 할 수 없습니다.

1

변수/매개 변수의 이름이 아닌 클래스 유형 (또는 인터페이스)과 일치합니다. 지정된 요청 매핑/메소드 서명이 정확해야합니다.

관련 문제