3.5 스프링 필드 포맷팅 by sh

이전 섹션에서 설명한 것처럼 core.convert는 범용 타입 변환 시스템입니다. 그것은 하나의 타입에서 다른 타입으로 변환 로직을 구현하기 위해 강력한 ConverterSPI 뿐만 아니라 통합된 ConversionServiceAPI를 제공합니다. 스프링 컨테이너는 이 시스템을 사용하여 빈 속성 값을 바인딩합니다. 또한, Spring Expression Language (SpEL)과 DataBinder는 이 시스템을 사용하여 필드 값을 바인딩 합니다. 예를 들어, expression.setValue(Object bean, Object value)시도를 완료하기 위해 SpEL에서 ShortLong으로 강제 변환해야 하는 경우 core.convert 시스템이 강제 변환을 수행합니다.

이제 웹 또는 데스크톱 응용 프로그램과 같은 클라이언트 환경의 타입 변환 요구 사항을 고려하십시오. 이러한 환경에서는 대게 String에서 클라이언트 포스트 백 프로세스를 지원하도록 변환하고 뷰 렌더링 프로세스를 지원하기 위해 String으로 다시 변환합니다. 또한, String값을 지역화해야하는 경우가 종종 있습니다. 보다 일반적인 core.convert ConveterSPI는 이러한 포맷팅 요구사항을 직접 처리하지 않습니다. 스프링 3은 직접 처리하기 위해 클라이언트 환경에 대한 PropertyEditor구현에 대한 간단하고 강력한 대안을 제공하는 편리한 Formatter SPI를 도입했습니다.

PostBack : 입력 컨트롤의 이벤트를 처리하기 위해 서버로 데이터를 Submit 하는 경우. (버튼 Click 이벤트 처리 등. Click 이벤트를 처리하기 위해 서버로 폼 데이터를 전송하고 서버는 이 요구를 받아 이벤트를 처리하고 다시 클라이언트에 웹 폼을 보내 줌. 모든 컽르롤 이벤트에 대해 포스트백되지 않음. 예를 들어, RadioButton 컨트롤의 선택 이벤트는 되지 않음)

일반적으로 java.util.DateLong사이의 변환과 같이 범용 타입 변환 로직을 구현해야 하는 경우 ConverterSPI를 사용할 수 있습니다. 클라이언트 환경(예: 웹 응용 프로그램)에서 작업하고 지역화된 필드 값을 Parsing 및 Print 해야하는 경우 FormatterSPI를 사용할 수 있습니다. ConversionService는 두 SPI에 대해 통합된 타입 변환 API를 제공합니다.

Last updated