본문 바로가기

프로그래밍/웹

JSTL과 EL 사용하기

반응형

ி JSTL


JSP 스크립틀릿은 HTML에 Java 코드를 동시에 사용하는 형태지만

JSTL을 사용하면 JSP 소스코드를 커스텀 태그로 표현 가능하므로 가독성이 증가된다.

예를들면 <%=if %>를 <c:if>로 표현하거나 EL(Expression Language)을 통해 

<%= test %>를 ${test}로 표현할 수 있다.



라이브러리


라이브러리 

하위 기능

접두어

관련 URI 

 코어

 변수 지원, 흐름 제어, URL 처리

 c

http://java.sun.com/jsp/jstl/core

 XML

 XML 코어, 흐름제어, XML 변환

 x

http://java.sun.com/jsp/jstl/xml 

 국제화

 지역, 메세지 형식, 

숫자 및 날짜 형식

 fmt

http://java.sun.com/jsp/jstl/fmt

 데이터베이스

SQL

 sql

http://java.sun.com/jsp/jstl/sql

 함수

콜렉션 처리, String 처리

fn 

http://java.sun.com/jsp/jstl/functions



JSTL 문법


라이브러리 표를 참고하여 JSP 상단에 <%@ taglib prefix="접두어" uri="URI 경로" %> 입력한다.


<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <body> <!-- 선언,출력,삭제,반복문 --> <c:set var="testval" value="10"></c:set> <c:out value="${testval}"></c:out> <c:remove var="testval"/> <!-- 구구단 --> <table border="1"> <c:forEach var="i" begin="1" end="9" step="1"> <tr> <c:forEach var="j" begin="1" end="9" step="1"> <td>${i}*${j}=${i*j}</td> </c:forEach> </tr> </c:forEach> </table> <!-- 게시글 삭제는 작성자와 관리자만 가능 --> <c:if test = "${member != null && read.writer == member.userId || member.userId == 'admin'}">  <button type="button" class="update_btn">수정</button> </c:if> <!-- 게시물 개행 처리 --> <% pageContext.setAttribute("crcn", "\r\n"); pageContext.setAttribute("br", "<br>"); %> <c:out value="${fn:replace(read.content,crcn,br)}"></c:out> <!-- 날짜 정보 출력(value - 날짜값, pattern - 날짜 형식 --> <fmt:formatDate value="Date" pattern="yyyy-MM-dd a h:mm"/> </body>

반응형