당신은 단지 스프링 “모델”에 직접 액세스 할 수 있기 때문에 당신이 “@ModelAttribute (“모델”)”을 만들 필요가 없다고 생각에 잘못입니까? 즉, FTL 파일은 단순히 “model[userList`]”가 아닌 “userList”를 참조했을 수 있습니다. Spring은 태그가 포함된 JSP에 사용할 태그 라이브러리를 제공합니다. 이 태그를 사용하면 양식 백업 개체의 값을 표시하고 웹 또는 비즈니스 계층의 유효성 검사기에서 실패한 유효성 검사 결과를 표시할 수 있습니다. 버전 1.1에서 Spring은 이제 속도 및 FreeMarker 모두에서 동일한 기능을 지원하며 양식 입력 요소 자체생성을 위한 추가편의 매크로를 제공합니다. FTL의 라디오 버튼의 예는 다음과 같습니다. 양식 백업 개체는 이 필드에 대해 `London`의 기본값을 지정하므로 유효성 검사가 필요하지 않습니다. 양식이 렌더링되면 선택할 도시 전체 목록이 `cityMap`이라는 이름으로 모델의 참조 데이터로 제공됩니다. 템플릿은 위에 표시된 *Configurer bean에서 지정한 디렉토리에 저장해야 합니다. 이 문서는 두 언어에 대한 템플릿 만들기에 대한 세부 정보를 다루지 않습니다 – 자세한 내용은 해당 웹 사이트를 참조하십시오. 강조 표시된 뷰 확인자를 사용하는 경우 논리 뷰 이름은 JSP의 InternalResourceViewResolver와 유사한 방식으로 템플릿 파일 이름과 관련이 있습니다.

따라서 컨트롤러가 “환영”의 뷰 이름을 포함하는 ModelAndView 개체를 반환하면 해결프로그램은 /WEB-INF/freemarker/welcome.ftl 또는 /WEB-INF/속도/welcome.vm 템플릿을 적절히 찾습니다. 이제 프로젝트 구성에 대해 살펴보겠습니다. 이 프로젝트는 어노미런 기반 Spring 프로젝트이므로 XML 기반 구성을 보여 주는 것은 아닙니다. Spring MVC 프레임워크는 뷰 이름을 실제 뷰에 매핑하는 ViewResolver 인터페이스를 제공합니다. 우리는 봄 webmvc 종속성에 속하는 FreeMarkerViewResolver의 인스턴스를 만들 것입니다. 출력은 이름 필드를 생성하고 양식이 필드에 값 없이 제출된 후 유효성 검사 오류를 표시하는 양식 조각 아래에 표시됩니다. 유효성 검사는 Spring의 유효성 검사 프레임워크를 통해 수행됩니다.