[JSTL][국비교육] Day 74

Ga02·2023년 4월 17일

국비교육

목록 보기
68/82

➰ EL의 연산자

  • 산술 : +, -, *, /, div, %, mod
  • 관계 : ==, eq, !=, ne, <, li, >, gt, <=, le, >=, ge
  • 논리 : &&, and, ||, or, !, not
  • 조건 : 조건식 ? 참일때 반환 : 거짓일 때 반환
  • null 검사 : empty 대상
    emptyobjobj변수가null이라면true반환{empty obj } ➡ obj 변수가 null이라면 true 반환{not empty obj } ➡ obj변수가 null이라면 false 반환

➰ EL 내장 객체

  • pageContext : JSP 내장 객체인 pageContext와 비슷한 기능을 가진 객체 👉🏻 잘 안씀 / 그냥 스크립트릿으로 하는게 편함!

  • scope
    👇🏻 Scope 애들을 제일 많이 씀! 이것때문에 EL을 쓰는 것
    각 컨텍스트 영역의 정보에 접근할 수 있게 준비된 객체

    • pageScope
    • requestScope
    • sessionScope
    • applicationScope
      <%=request.getAttribute("data") %> 👉🏻 ${requestScope.data }
      ✔ EL의 Scope객체들은 생략 가능 👉🏻 ${data }
      ✔ 스코프 객체를 지정하지 않고 컨텍스트 정보를 사용할 경우
      page ➡ request ➡ session ➡ application 순으로 찾아서 정보를 가져옴
      ✔ 전체 컨텍스트 영역에 존재하지 않으면 null 반환
  • param : 전달파라미터에 접근할 수 있는 객체
    request.getparameter("name");의 기능을 수행하는 객체
    <%=request.getParameter("keyword") %> 👉🏻 ${param.keyword }

  • paramValues : 전달파라미터에 접근할 수 있는 객체
    request.getPatameterValues("name");의 기능을 수행하는 객체
    <% String[] hobbies = request.getParameterValues("hobby"); %>
    <%=hobbies[0] %>
    <%=hobbies[1] %>
    👉🏻 ${paramValues.hobby[0] }

  • header : 요청 메시지이 Header 정보에 접근할 수 있는 객체

  • headerValues : 요청 메시지으 Header정보에 접근할 수 있는 객체

  • cookie : request.getCookies();로 반환받을 수 있는 Cookie[] 데이터들을 cookiename=Cookie 객체 쌍으로 Map형태로 변환한 값을 가짐

  • initParam : 초기화 파라미터(Initial Parameter)를 이용할 수 있는 내장 객체
    application.getInitParameter("name");의 기능을 제공


🔍 JSTL, JSP Standard Tag Library

JSP에서 사용 가능한 표준 태그 라이브러리
✔ 사용자 정의 태그, Custom Tag : 개발자(사용자)가 직접 정의해서 사용하는 태그
✔ 태그 라이브러리 : 사용자 정의 태그들을 모아놓은 라이브러리

  • 추가 라이브러리 파일이 필요
  • JSP페이지에서 taglib 지시자를 이용하여 태그 라이브러리를 사용할 수 있게 활성화해야 함
  • JSTL코드를 사용하면 JSP페이지의 Java코드를 줄일 수 있음
  • JSP코드의 가독성이 좋아짐

➰ JSTL에서 제공하는 5가지 커스텀 태그

  • Core : 조건문, 반복문 등의 제어문 기능을 포함하고 있음
    • 다른 JSP 페이지를 호출하는 기능을 포함하고 있음
  • Format : 날짜, 숫자, 시간 데이터의 서식을 지정하는 태그
    • 화면에 출력될 모양(형식)을 조절할 수 있음
      --위에 둘 자주 쓰고
  • Sql : 데이터베이스 처리 👉🏻 우리는 jsp에서 DB 처리 안할것!
  • Xml : XML문서 처리 👉🏻 우리는 XML 안쓰고, 쓰더라도 파싱하지 않고 문서 그대로 쓸것임
    --위에 둘 안쓰고
  • Functions : 문자열을 처리하는 함수를 사용할 수 있게 제공됨
    • 단독으로 태그로 제공되지 않음 👉🏻 EL문법과 함께 사용됨
      --가끔 쓸거임

➰ JSTL taglib 지시자

  • JSTL 태그 라이브러리를 해당 JSP파일에서 활성화되도록 추가하는 지시자
  • 기본 형식
    <%@ taglib prefix="접두어" uri="라이브러리식별값" %>
  • Core
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  • Format
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
  • Sql
    <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
  • Xml
    <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
  • functions
    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

➰ JSTL Core 태그 라이브러리

  • c:out : JSP Writer를 이용한 브라우저 출력(응답 데이터)
    <c:out value="출력할 데이터" | default="value속성의 값이 null일 때 대체되어 출력되는 값" | escapeXml="true | false"/>
    • escapeXml 속성
      • true : < > & " '기호문자들을 글자 그대로 출력(기본값)
      • false : 기호문자들을 태그로 반영되어 출력
profile
IT꿈나무 댓츠미

0개의 댓글