[BackEnd] EL, JSTL (03/10)

박세윤·2023년 3월 10일

BackEnd

목록 보기
4/5
post-thumbnail

📖 EL, JSTL

📌 EL (Expression Language)


✅ EL (Expression Language)

  • 표현언어라고 하며 값(data)를 웹 페이지에 표시 하는데 사용되는 태그

  • JSP 스크립트의 표현식 <%= %>을 대신하여 속성값을 쉽게 출력할 수 있도록 고안된 언어

스크립트 표현식 : <%= expr %> EL : ${expr }

  • EL 표현식에서 Map 객체 또는 Java Bean 객체의 경우 도트(.) 연산자를 사용하여 속성을 출력할 수 있다.

    • 이 때, 오른쪽의 값은 Map 객체의 경우 key, Java Bean의 경우 Bean Property이다.
  • JSP 영역 기본 객체 (page, request, session, application) 속성 사용 가능

  • 수치, 관계, 논리연산 제공

  • 자바 클래스 메서드 호출 기능 제공

  • 표현언어 기본 객체 제공 (param, paramValues)



✅ JSP 잠깐 복습

  • JSP에서 활용하는 태그들
  1. <% (Java 코드) %>

  2. <%! %> : Servlet 클래스 영역

  3. <%= .. %> : out.print(..); - 안에 ; 적으면ㅇ ㅏㄴ됨!

  4. <%-- --%> : 주석

  5. <%@ %> : 지시자

    • 지시자 1 page
    • 지시자 2 include
    • 지시자 3 taglib



✅ EL 문법



✅ EL 실습

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>EL2</title>
</head>
<body>
	<!-- EL -->
	문자열 : ${"Hello"} <br>
	정수형 : ${10} <br>
	실수형 : ${10.25} <br>
	논리형 : ${true} <br>
	<!-- null은 안찍힌다. 그냥 공백 -->
	null : ${null} <br>
	
</body>
</html>



✅ EL 연산자 (Operator)

  • EL 연산자(Operator)

  • EL 식은 연산자를 포함할 수 있으며, 산술 연산, 조건 연산, 논리 연산, 관계 연산을 수행할 수 있다.

  • 또한 일반적인 연산 이외에 null 연산을 수행할 수 있다.

    • empty 연산자는 검사할 객체가 null인지 아닌지 검사하기 위해 사용된다. (null, "", 요소가 없는 list, map, collection은 True)
${ empty name }
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>EL3</title>
</head>
<body>
	<!-- EL -->
	\${5+2} : ${5+2}
	\${5 div 2} : ${5 div 2} <br>
	<!-- gt : > -->
	\${5 gt 2} : ${5 gt 2} <br>
</body>
</html>



📌 JSTL (JSP Standard Tag Library)


✅ JSTL (JSP Standard Tag Library)

  • JavaEE 기반의 웹 어플리케이션 개발을 위한 컴포넌트 모음

  • JSP 스크립트와 html 코드가 섞여서 복잡한 구조를 만듬.

    • 이를 간결하게 작성하기 위해 자바 코드를 태그 형태로 작성해놓은 것
  • 유용한 커스텀 태그들을 모아 표준화한 것



✅ JSTL 기능

  • 간단한 프로그램 로직 구현 기능 - 변수 선언, if문장, for문 등

  • 데이터 출력 포맷 설정

  • DB 입력, 수정, 삭제, 조회 기능

  • 문자열 처리 함수

  • XML 문서 처리

(위 기능들을 가지고 있는 라이브러리 : core, format, sql, functions, xml)



✅ JSTL 사용하기

  • mvn 다운 후

여기에 넣기

  • taglib 지시자를 이용한 태그 사용 선언
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
  • 사용하고자 하는 기능에 따라 어떤 라이브러리를 사용할 지 작성한다. (ex: core)

  • 사용할 태그를 구분하기 위해 prefix 작성

<c:out value="Hello! JSTL"/>
  • prefix에 작성한 접두사를 적어주고, 기능에 따른 태그를 선택하여 작성한다.
  • Core가 중요하고 나머지는 잘 안쓸듯 우리는



✅ JSTL - Core



✅ c:set 태그



✅ c:if 태그



✅ c:forEach 태그

  • begin, end, step 속성을 활용하여 반복할 항목을 지정할 수 있다.

  • varStatus 속성을 활용하여 요소의 순번(index), 개수(index) 등 출력 가능



profile
개발 공부!

0개의 댓글