달력

5

« 2025/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

EL(Expression Language)

    - getter의 대용
    - JSP 2.0에서 새롭게 추가된 스크립트 언어
    - 기존의 Script Tag의 표현식(Expression) Tag의 업그레이드된 출력태그

    - 주요기능 - 
    
        - Servlet / JSP가 제공하는 4가지 영역의 속성에 저장된 객체의 속성에 쉽게 접근하여 출력
        - 집합객체(배열, 컬렉션)에 대한 접근 방법제공
        - 리터럴 데이터 뿐만 아니라, 다양한 연산결과를 출력
        
    - 출력방법 - 
        
        ${expression} - ${}에서 {} 사이에 표현 하고자 하는 내용을 넣는다. 

    - 예      시 -

        - ${value1.value2.[value3...]}
        - ${value1["value2"]}
        - ${value1[value2["value3"]]}

            - value1은 EL 내장객체나 속성명이 들어와야 한다. 
            - JSP의 script(scriptlet, 표현식, 선언부) 요소를 제외한 나머지 부분에서 사용된다. 
            - 콤마 이후는 getter method라고 생각하면 된다.
                
            - ${board.seq}는 <%=boardVO.getSeq()%>와 동일!




          
JSTL(Java Standard Tag Library)


    - EL에는 getter 형식의 기능만 존재함
    - 제어문에서의 표현형식이 필요함 ===> JSTL
    - SUN社에서 표준문서를 지정 (JCP) 이후, 각 WAS 벤더들이 구현해서 제공 
    - 대표적 라이브러리 : Jakarta Commons 의 태그라이브러리
        - Tomcat JSTL Library 다운로드 사이트 : http://tomcat.apache.org/taglibs/standard/
          (http://www.apache.org > jakarta > (좌측하단)TagLibs > (중앙상단) Apache Standard Taglib 링크 클릭 )
    - 각 서블릿 버전에 알맞는 라이브러리 다운로드 가능
    - API : http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/index.html




    - 위 경로에서 라이브러리를 다운받고, 압축해제하면 아래 이미지처럼 경로를 확인 할 수 있다.

    - 위 두개의 jar 파일이 JSTL의 라이브러리 파일이다
    - 위 두개의 파일을 원하는 프로젝트의 LIB 경로로 복사해 넣어주면 된다


    - 위 경로중에서 
       jakarta-taglibs-standard-1.1.2\jakarta-taglibs-standard-1.1.2\doc 경로의 
       'GettingStarted.html' 파일을 열어보면 도움말 HTML을 확인 할 수 있다. 

    - 도움말 HTML 파일의 내용중에 

       <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 부분을 카피하여 


       JSTL을 사용하길 원하는 페이지의 상단에 넣어준다. (위 이미지 참조)
       그리고 위 그림에서 기존의 'List<BoardVO> boardList = ... ' 부분의 코드는 불필요하므로 제거해준다. 

    - 기존의 파일내용이 위처럼 제어문과 스크립트릿으로 구성되어 있었다면, 
       같은 내용을 JSTL로 변경이 가능하다. 아래와 같이 말이다. 
       
       아래 그림에서의 결과중, ${board.seq} 부분의 결과는 
       게시물의 번호 그 자체가 출력된다는 점을 기억하자. 아래에서 수정될 것이다.



작업순서를 정리해보면 아래와같다. 


    - 위에서 붉은 글씨로 강조했던것처럼, 현재까지의 작업의 결과로는 게시물의 번호 그 자체가 출력된다. 
       하지만, 순번을 출력하고 싶을때 (for루프에서의 인덱스 번호)는 아래처럼 변수를 지정한다. 

    - 위 그림에서의 varStatus="varStatus" 부분을 살펴보자. 
       일종의 변수의 지정이라고 생각하면 되겠다.

    - forEach 반복을 수행하면서 varStatus의 카운팅 결과를 출력하면, 순번이 찍히게 된다. 
      이것은 ${varStatus.index + 1} 과 출력결과가 동일하다. 


    - 나머지 조건문과 기타등등은 참고문서를 참조하자. 








'JAVA' 카테고리의 다른 글

The specified JRE installation does not exist 에러 발생시  (0) 2012.04.30
EL (Expression Language) 문법  (0) 2012.04.27
jstl 문법 정리  (0) 2012.04.26
자바와 C# 의 예약어 비교  (0) 2012.02.23
자바 설치 및 개발환경 구축  (0) 2012.02.22
:
Posted by 깜스