'timestamp'에 해당되는 글 2건

  1. [JavaScript] Kendo UI DataSource; Timestamp 값 문자열로 변환 출력하기
  2. [Spring MVC 3] @ResponseBody로 JSON 객체 반환시 Timestramp 포맷 깨짐 현상 해결하기

[JavaScript] Kendo UI DataSource; Timestamp 값 문자열로 변환 출력하기

* Kendo UI DataSource 상에 Number 타입의 Timestamp 값을 가진 컬럼이 있을 때 Kendo UI Web Grid 상에서 template : '#=Date.create(timeStamp).format("{yyyy}-{MM}-{dd}")#' 기능을 통하여 사람이 식별가능한 날짜로 변환하여 출력할 수 있지만 Timestamp 값이 null 값을 가질 경우 현재날짜를 출력하는 문제가 있다. 아래와 같이 메써드를 작성하여 해결했다.

function timeStampToString(timeStamp) {
  if (timeStamp === null || timeStamp === '') {
    return '';
  }
  return Date.create(timeStamp).format("{yyyy}-{MM}-{dd}");
}


Kendo UI Web Grid의 columns.template 옵션은 아래와 같이 설정한다.

template : '#=timeStampToString(timeStamp)#'


* Date.create() 메써드는 Sugar.js 라이브러리가 제공하는 메써드임을 참고

* JavaScript 상에서의 Timestamp에 대한 자세한 내용은 아래 글을 참고

http://jsonobject.tistory.com/34


저작자 표시 비영리 동일 조건 변경 허락
신고

[Spring MVC 3] @ResponseBody로 JSON 객체 반환시 Timestramp 포맷 깨짐 현상 해결하기

본 글은 크리에이티브 커먼즈 라이센스(CC BY-NC-SA)를 준수합니다.

 



Spring MVC 3에서 리턴 타입 앞에 @ResponseBody 어노테이션을 명시할 경우 사용되는 Jackson 라이브러리는 Oracle의 DATE 타입의 데이터를 수용하는 java.sql.Timestamp 타입을 정상적으로 변환하지 못하여 View에서 값이 비정상적으로 출력되는 현상이 발생한다.


DATE 타입의 정상적인 출력을 위해 디비의 스키마를 다른 타입으로 변경하는 것은 효율적이지 못한 접근으로 아래와 같이 커스터마이징된 ObjectMapper 상속 클래스를 구현하고 DispatcherServlet에 등록하면 View에서 값이 정상적으로 출력된다.


* CustomObjectMapper.java

package ...;

import java.text.SimpleDateFormat;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig.Feature;

public class CustomObjectMapper extends ObjectMapper {
    public CustomObjectMapper() {
        super();
        configure(Feature.WRITE_DATES_AS_TIMESTAMPS, false);
        setDateFormat(new SimpleDateFormat("yyyy-MM-dd"));
    }
}


* dispatcherServlet.xml

    <mvc:annotation-driven>
        <mvc:message-converters register-defaults="false">
            <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
                <property name="objectMapper">
                    <bean class="....CustomObjectMapper" />
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>


저작자 표시 비영리 동일 조건 변경 허락
신고