Spring 2.5는 들어오는 요청 데이터를 Modelattribute 명령에 어떻게 매핑합니까?

StackOverflow https://stackoverflow.com/questions/418178

  •  03-07-2019
  •  | 
  •  

문제

나는 Spring 2.0을 사용했고 이제는 스프링 2.5를 사용하고 있습니다. 2.0에서 우리는 명령 클래스를 설정해야했으며 따라서 AbstractFormController가 우리를 위해 그 명령 객체를 채우는 데 사용했음을 계속 생각합니다. 봄 2.5에서 우리는 그렇게하지 않으므로 어떤 클래스를 사용할 수 있습니까? @ModelAttribute ( "명령")에 주석을 달린 매개 변수 유형에 따라 다릅니 까?

그렇다면, httprequest와 클래스 이름 (또는 클래스 객체)을 전달할 수있는 정확한 메커니즘을 제공하는 "Utils"클래스를 알려 주시면 인구가있는 객체를 반환합니다!

내 질문이 있기를 바랍니다.

미리 감사드립니다.

도움이 되었습니까?

해결책

웹 MVC 주석 바인딩은 결국에 의존합니다

org.springframework.beans.abstractpropertyaccessor

두 가지 구체적인 구현이 있습니다.

org.springframework.beans.beanwrapperimpl org.springframework.beans.directfieldAccessor

둘 다 Java 객체를 허용하며, 이는 특성을 설정하는 대상이 될 것입니다.

첫 번째 BeanWrapperImpl은 Java 객체의 세터/getter 메소드를 사용하고 다른 하나는 필드를 직접 설정합니다. 두 방법 모두 메소드/필드가 공개/accesible인지 확인하고 그렇지 않으면 Reflection의 SetAccessible (true)을 사용하여 설정할 수 있는지 확인하십시오.

Web MVC에서 AbstractPropertyAccessor의 인스턴스가 생성되고 HttPrequest의 매개 변수 맵이 AbstractPropertyAccessor#setProperTyValues로 전달됩니다.

통화 후 Java 객체는지도에있는 모든 것이 채워집니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top