반응형
DB에 저장된 날짜를 가져올 때 웬만하면 날짜 포맷을 바꿔서 출력해야 합니다.
날짜 형식을 바꾸는 방법은 날짜의 타입에 따라 다른데 이때 사용하는 JSTL 태그는 아래 코드와 같습니다.
날짜(Date, LocalDateTime 등) 타입인 경우
(1) <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
(2) <fmt:formatDate value="${regDate}" pattern="yyyy-MM-dd HH:mm:ss"/>
JSTL 중 fmt 태그를 사용하기 위한 스크립틀릿(1)을 추가하고 아래 있는 태그 형식(2)으로 작성하면 됩니다.
별도로 <c:out value=""/>에 넣을 필요 없이 바로 출력됩니다.
주의할 부분은 fmt:formatDate의 value 값으로 들어갈 수 있는 타입은 날짜 타입만 허용되기 때문에 문자열로 저장된 날짜를 value에 넣을 경우 에러가 발생합니다.
문자열(String) 타입인 경우
(1) <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
(2) <c:out value="${fn:substring(regDate, 0, 16)}"/>
JSTL 메소드를 사용하기 위한 스크립틀릿(1)을 추가하고 아래 있는 태그 형식(2)으로 작성하면 됩니다.
JSTL의 메소드 처리는 value="" 안에서 이뤄지기 때문에 (2)처럼 <c:out/> 태그의 value="" 안에 작성해야 화면에 출력됩니다.
${fn:substring(데이터, 시작 인덱스, 마지막 인덱스 + 1)} 이렇게 작성하면 첫번째 매개변수로 들어온 데이터를 자를 수 있습니다.
예를 들어, ${fn:substring('2021-10-15 12:10:15)', 0, 16)}
이렇게 작성하면 '2021-10-15 12:10:15의 0번 인덱스에서 16번 바로 전 인덱스(15번 인덱스)까지 출력하여 결과는 2021-10-15 12:10가 출력됩니다.
반응형
'Java Web > Servlet&JSP' 카테고리의 다른 글
[JSP] JSTL 라이브러리, JSTL 사용법 (0) | 2021.10.21 |
---|---|
[JSP] JSTL ${fn:contains()}를 이용한 문자열 포함 여부 확인 (0) | 2021.10.18 |
[JSP] 메시지 출력 및 페이지 이동을 위한 JSP 작성 (0) | 2021.10.01 |
[JSP] JSTL(JSP Standard Tag Library) 태그 정리 (0) | 2021.07.20 |
[Servlet] 한글(UTF-8) 인코딩 설정 (0) | 2021.07.14 |