ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JSTL과 EL
    WEB/JSP 2016. 10. 9. 14:31

    JSP파일에 자바형식의 코드를 사용하면 불편한 점이 있다.

    EL (Expression Language) 과 JSTL (Jsp Standard Tag Library)는 코드를 더욱 간결하게 만든다.


    JSP 2.0버전에서 새로 추가된 스크립트 언어인 EL(Expression Language)은 

    <%= abc %>를 ${abc}로 간단하게 사용할 수 있게 하였고, JSTL의 Core에서 c를 이용해 <%= if%>문을 <c:if>, <%=for%>문을 <c:forEach>로 대체하여 사용한다. 




    EL (Expression Language)


    >> 사용목적

    <%= %> , out.println()과 같은 자바코드를 

    더 이상 사용하지 않고 좀더 간편하게 출력을 지원하기 위한 도구.

    배열이나 컬렉션에서도 사용되고, JavaBean의 프로퍼티에서도 사용된다.


    >> 문법

    Attribute형식에서는 ${cnt + 1}로 쓰고

    Parameter형식에서는 ${param.abc}으로 쓴다.


    여기서 cnt는 자바에서는 변수 이름이고, EL 식에서는 Attribute명이다.

    값을 찾을때 Attribute는 작은 Scope에서 큰 Scope로 찾는다.

    (page → request → session → application)


    >> 내장객체

    1) pageScope → 페이지Scope에 접근

    2) request Scope  리퀘스트Scope에 접근

    3) sessionScope  세션Scope에 접근

    4) applicationScope  어플리케이션Scope에 접근

    5) param  파라미터값 얻어올때 ( 1개의 Key에 1개의 Value )

    6) paramValues → 파라미터값 배열로 얻어올때( 1개의 Key에 여러개의 Value) 

    7) header  헤더값 얻어올때 ( 1개의 Key에 1개의 Value ) 

    8) headerValues → 헤더값 배열로 얻어올때 ( 1개의 Key에 여러개의 Value ) 

    9) cookie → ${cookie. key값. value값}으로 쿠키값 조회

    10) initParam → 초기 파라미터 조회

    11) pageContext → 페이지컨텍스트 객체를 참조할때


    >> paramValues 나 headerValues 사용법

     $ { paramValues . boadDto [0] } 

     $ { paramValues ["bardDto"] [1] }

    Values 옆에 점을 찍는 방법과 대괄호로 묶어 사용하는 2가지 방법이 있다.

    대신 ①번에서는 인덱스가 0부터 시작하고 ②번에서는 인덱스가 1부터 시작.




    JSTL (Jsp Standard Tag Library)


    >> JSTL

    JSP에서 taglib 디렉티브를 통해서 정의할 수 있다.

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 

    스크립트릿을 작성하지 않아도 if문, for문을 사용할 수 있다.


    >> 태그 종류

    (1) Core  (prefix : c)

    → 일반 프로그래밍에서 제공하는 것과 유사한 변수선언

     실행 흐름의 제어 기능을 제공

     페이지 이동 기술 제공

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


    (2) Formatting (prefix : fmt)

     숫자, 날짜, 시간을 포매팅하는 기능을 제공

    → 국제화, 다국어 지원 기능 제공

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


    (3) DataBase (prefix : sql)

    → DB의 데이터를 입력 / 수정 / 삭제 / 조회 하는 기능을 제공

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


    (4) XML (prefix : x)

    → XML문서를 처리할 때 필요한 기능 제공

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


    (5) Function (prefix : fn)

    → 문자열을 제공하는 함수 제공

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




    JSTL의 Core Library


    1. <c:if>

    <c:if test="조건식" var="조건을 검사하고 return되는 boolean값을 저장할 변수"> ~~~ </c:if>

    2. <c:choose>

    <c:choose>

    <c:when test="조건식"> ~~~ </c:when>

    <c:otherwise> ~~~ </c:otherwise>

    </c:choose>

    3. <c:foreach>

    <c:foreach begin="시작값" end="끝값" step="증가값" var="index 변수"></c:foreach>

    <c:foreach var="변수" items="배열or컬렉션"></c:foreach>






    'WEB > JSP' 카테고리의 다른 글

    Get / Post 방식  (0) 2016.10.09
    JSP 기초  (0) 2016.10.09
    DIV  (0) 2016.09.26
    에러 페이지 처리  (0) 2016.09.26
    Filter  (0) 2016.09.26
Designed by Tistory.