springMVC - 데이터 포맷

4840 단어
1.annotation-driven 구성
  <mvc:annotation-driven ></mvc:annotation-driven>

2. 솔리드 클래스에 @NumberForma라는 메모를 추가합니다.
    @NumberFormat(pattern="#,###,###.#")
    private Float price;
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date productionDate;

이렇게 하시면 됩니다.

데이터 포맷


* 속성 객체의 입출력을 포맷하여 본질적으로 유형 변환의 범주에 속함
*Spring은 포맷 모듈에서 Conversion Service 인터페이스를 구현하는
FormattingConversion Service 구현 클래스(GenericConversion Service를 확장하는 구현 클래스)
따라서 유형 변환 기능도 있고 격식화 기능도 있다
* FormattingConversion ServiceFactoryBean 팩토리 클래스
중구조 전자
 
- FormattingConversion ServiceFactoryBean 내부가 등록되어 있음
NumberFormatAnnotationFormatterFactory: 디지털 유형에 대한 지원
속성@NumberFormat 메모 사용
- JodaDateTimeFormatterAnnotationFormatterFactory: 날짜 유형에 대한 속성 사용 지원
@DateTimeFormat 메모
FormattingConversion Service Factory Bean을 장착하면 Spring MVC에 참가할 수 있습니다
귀속 및 모델 데이터 출력 시 주석을 사용하여
기본적으로 생성되는 ConversionService 인스턴스는 다음과 같습니다.

FormattinConversionServiceFactorybean


날짜 포맷


@DateTimeFormat 주석은 java에 대한 설명입니다.util.Date,
java.util.Calender.java.long.Long 시간 유형에 대한 마크업:
-pattern 속성: 문자열 형식으로 필드 데이터를 해석/포맷하는 모드를 지정합니다.
예: "yyy-MM-dd hh:mm:ss"
-iso 속성: 유형은 DateTimeFormat입니다.ISO.해석을 지정합니다.필드 데이터를 포맷하는 ISO 모드
ISO.NONE -- 기본값입니다.
ISO.DATE(yyyy-MM-dd)
ISO.TIME(hh:mm:ss.SSSZ).ISO.DATE(yyyt-MM-dd hh:mm:ss.SSSZ)
-style 속성: 지정한 날짜와 시간을 보여 주는 문자열 형식으로 두 글자로 구성되어 있습니다.
첫 번째 표사 날짜의 액 포맷, 두 번째 표식 시간의 포맷, S: 짧은 날짜/시간 포맷,
M:중간 날짜/시간 형식.L:긴 날짜/시간 형식.F 전체 날짜/시간 형식.
- 날짜 또는 시간 형식 무시
이전에 Conversion Service를 구성했지만 지금은 사용할 수 없습니다.
 <!-- ConversionService  -->
    <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
        <property name="converters">
            <set>
            <ref bean="procuctConverter"/>
            </set>
        </property>
    </bean>

 
하지만 org로 바꿀 수 있어요.springframework.format.support.FormattingConversionServiceFactoryBean
이걸 사용해서 Spring으로 제공할 수 있는 포맷도 할 수 있어요.
지금 한 문제를 고려하고 있는데, 만약 잘못되면 어떻게 합니까
BindingResult를 사용하면 BindingResult가 바인딩된 변수와 바인딩해야 한다는 것을 알 수 있습니다
public String saveProduct(@ModelAttribute Product product,
           BindingResult bindingResult, Model model) {
        if(bindingResult.getErrorCount() > 0)
        {
            System.out.println(" ");
            for(FieldError  error : bindingResult.getFieldErrors())
            {
                System.out.println(error.getField() +" : "+error.getDefaultMessage()); }
        }
   }

 

좋은 웹페이지 즐겨찾기