날짜 유형에 대한 SpringMVC 변환 예
1. 검색 클래스가 우리로 하여금 직접 쓰게 한다면 속성 앞에 @DateTimeFormat(pattern ='yyyy-MM-dd')을 추가하면 String을 Date 형식으로 변환할 수 있습니다.
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date createTime;
2. 만약에 우리가 웹 층의 개발만 책임진다면 컨트롤러에 데이터 연결을 추가해야 한다.
@InitBinder
public void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true)); //true: ,false:
3. 시스템에 전역 형식 변환기를 추가할 수 있다변환기 구현
public class DateConverter implements Converter<String, Date> {
@Override
public Date convert(String source) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
try {
return dateFormat.parse(source);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
구성:
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="com.doje.XXX.web.DateConverter" />
</list>
</property>
</bean>
<mvc:annotation-driven conversion-service="conversionService" />
4. 날짜 형식을 String으로 바꾸어 페이지에 표시하려면 앞부분의 기술에 맞추어 처리해야 한다.5. SpringMVC가 @ResponseBody를 사용하여 json으로 되돌아올 때 날짜 형식은 기본적으로 타임 스탬프로 표시됩니다.
@Component("customObjectMapper")
public class CustomObjectMapper extends ObjectMapper {
public CustomObjectMapper() {
CustomSerializerFactory factory = new CustomSerializerFactory();
factory.addGenericMapping(Date.class, new JsonSerializer<Date>() {
@Override
public void serialize(Date value, JsonGenerator jsonGenerator,
SerializerProvider provider) throws IOException, JsonProcessingException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
jsonGenerator.writeString(sdf.format(value));
}
});
this.setSerializerFactory(factory);
}
}
구성은 다음과 같습니다.
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="objectMapper" ref="customObjectMapper"></property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
6. date 형식이 json 문자열로 변환될 때 long time 값을 되돌려줍니다. 지정한 날짜를 되돌려주는 형식의 get 방법에 @Json Format(pattern="yyy-MM-dd HHH:mm:ss", timezone="GMT+8")을 적으면 json이 되돌려주는 대상을 지정한 클래스로 되돌려줍니다.
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
public Date getCreateTime() {
return this.createTime;
}
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.