@modelattribute 예제

이 섹션에서는 개요 섹션에서 언급된 예제를 제공합니다: 사용자(회사의 직원, 당사의 특정 예에서)가 일부 개인 정보(특히 이름 및 ID)를 입력하도록 유도하는 매우 기본적인 양식입니다. 제출이 완료되고 오류 없이 사용자는 이전에 제출된 데이터를 다른 화면에 표시할 것으로 예상합니다. 다음 예제에서는 @ModelAttribute 두 개의 요청 처리기로 추가된 세 가지 메서드가 있습니다 @ModelAttribute. 메서드 수준 @ModelAttribute 지정은 항상 특정 특성을 가진 모델을 채우고자 할 때 유용합니다. 메서드 수준 ModelAttribute 어구는 요청과 함께 직접 매핑할 수 없습니다. 더 나은 이해를 위해 다음 예제를 살펴 보겠습니다. 그 마음에 유지 하 고 제출() 및 addAttributes() 실행 된 후, 우리는 그냥 할 수 있는 그들을 참조할 수 있는 뷰에서 반환 된 Controller 클래스에서 반환, 달러형 곱슬 곱슬 버팀대 듀오 내에서 주어진 이름을 언급 하 여, 예를 들어 ${이름}. 이 문서의 나중에 우리는 직원 개체를 사용 하 여 직원 View 템플릿을 채우는 방법에 대 한 전체 예제를 볼 것 이다. 위의 예에서는 sPring MVC가 getStates() 메서드라고 하는 동안 home() 메서드에 몇 가지 추가 국가를 추가하여 모델에 저장된 상태 목록을 가져옵니다. 이 메서드는 모든 @RequestMapping 추가된 처리기 메서드 앞에 호출되어 모델에 초기 개체를 추가한 다음 JSP로 푸시됩니다. 위의 문장에 있는 모든 단어를 주목하십시오.

@ModelAttribute 개의 추가된 메서드(컨트롤러당 하나 이상의 메서드를 가질 수 있음)는 처리기 메서드 또는 JSP가 데이터를 사용하는지 여부에 관계없이 호출됩니다. 이 예제에서는 두 번째 요청 처리기 메서드 호출 모델에 새 사용자가 필요 하지 않으므로 호출이 불필요 합니다. 불필요한 데이터베이스 호출 등을 수행하여 응용 프로그램 성능이 저하될 수 있다는 점을 염두에 두어야 합니다. 따라서 Controller 클래스의 각 처리기 호출마다 모든 페이지 요청에 대해 모델에 추가하는 것과 동일한 공통 정보가 필요한 경우에만 이 기술을 사용하는 것이 좋습니다. 이 예에서는 내가 파티에 늦었는 것을 알지만 그들이 말하는 것처럼 인용 할 것입니다. 그래서 갈 수 있습니다, 모두가 일을 설명하는 자신의 방법이, 내가 그것을 요약하고 예를 와 함께 몇 가지 단계에서 당신을 위해 그것을 간단하게하려고하자; 앞에서 언급했듯이 간단한 양식 form.jsp가 모델 개체는 매우 단순하며 “프런트 엔드” 특성에 필요한 모든 것을 포함하고 있다고 가정합니다.