LocalDate型の変数をJSPで任意のフォーマットで表示する
サーブレット側で設定した日付(LocalDate)を保持した変数をjspに表示する。
こんな単純なことなのに、案外はまってしまった。
- コントローラ
@Service public class TestService { public Model getTest( Model model) throws ApplicationException { model.addAttribute("today", LocalDate.of(2017, 5, 1)); return model; } }
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> ... <fmt:parseDate value="${today}" pattern="yyyy-MM-dd" var="parsedToday" type="date" /> <fmt:formatDate value="${parsedToday}" var="newParsedToday" type="date" pattern="yyyy/MM/dd" /> <p>${newParsedToday}</p>
parseDateを利用して一度、var=“parsedToday” とした後、 formatDateを利用し、表示したい形式にする。