EL 개요
- JSTL에 소개된 내용으로 JSP 2.0에 추가된 기능이며 JSP의 기본문법을 보완하는 역할
1. EL에서 제공하는 기능
- JSP의 네 가지 기본 객체가 제공하는 영역의 속성 사용
- 집합 객체에 대한 접근 방법 제공
- 수치 연산, 관계 연산, 논리 연산자 제공
- 자바 클래스 메소드 호출 기능 제공
- 표현 언어만의 기본 객체 제공
2. 표현언어에서 자바메소드를 사용
- 자바클래스 작성하고 메소드는 static 설정
- 태그라이브러리에 대한 설정정보를 담고 있는 tld(Tag Library Descriptor)파일을 작성
- web.xml에 tld파일을 사용할 수 있는 설정정보를 추가
- 자바클래스에 접근하는 jsp파일을 작성
JSTL
- JSP에서 자주 사용하는 기능들을 손쉽게 사용할 수 있도록 제공하는 표준 태그 라이브러리
- JSTL은 자바 코드를 JSP에 직접 작성하지 않고, 태그로 대체하여 더 읽기 쉽고 유지보수가 쉬운 코드를 작성 가능
- 이를 통해 개발자는 비즈니스 로직을 JSP에서 분리하고, 클린한 템플릿을 만들 수 있다
JSTL의 주요 기능
- 조건문 처리 (<c:if>, <c:choose>)
- 반복문 처리 (<c:forEach>)
- 변수 설정 및 관리 (<c:set>, <c:remove>)
- URL 처리 (<c:url>, <c:import>)
- 국제화 및 포맷팅 (<fmt:message>, <fmt:formatNumber>)
- XML 처리 (<x:parse>, <x:out>)
- SQL 태그 (<sql:query>, <sql:update>)
pageScope → requestScope → sessionScope → applicationScope 순으로 호출
page - pageScope
request - requestScope
session - sessionScope
application - applicationScope
메소드 호출시 접두사 set/get를 생략 할 수 있다
메소드명을 변수명처럼 사용 할 수 있다
제공되는 태그의 종류
라이브러리 | URI | Prefix(접두어) |
Core | http://java.sun.com/jsp/jstl/core | c |
XML | http://java.sun.com/jsp/jstl/xml | x |
국제화 | http://java.sun.com/jsp/jstl/fmt | fmt |
DB | http://java.sun.com/jsp/jstl/sql | sql |
함수 | http://java.sun.com/jsp/jstl/functions |
JSTL Core 태그
1. 조건문 처리
- c:if: 조건문을 작성할 때 사용
<c:if test="${user.age >= 18}">
<p>성인입니다.</p>
</c:if>
- c:choose, c:when, c:otherwise: 여러 조건을 처리할 때 사용
<c:choose>
<c:when test="${user.age >= 18}">
<p>성인입니다.</p>
</c:when>
<c:otherwise>
<p>미성년자입니다.</p>
</c:otherwise>
</c:choose>
2. 반복문 처리
- c:forEach: 컬렉션이나 배열을 반복할 때 사용
<c:forEach var="user" items="${userList}">
<p>${user.name} (${user.age})</p>
</c:forEach>
items 속성 : 반복할 컬렉션
var : 각 반복 시 사용할 변수명
3. 변수 설정 및 관리
- c:set: 변수나 속성 값을 설정할 때 사용
<c:set var="name" value="John Doe" />
<p>이름: ${name}</p>
- c:remove: 특정 변수를 삭제할 때 사용
<c:remove var="name" />
4. URL 처리
- c:url: 상대 경로를 절대 경로로 변환할 때 사용
<a href="<c:url value='/user/profile' />">프로필 보기</a>
- c:import: 외부 리소스를 불러와 JSP 내에서 사용
<c:import url="header.html" />
5. 국제화 및 포맷팅
- fmt:message: 국제화된 메시지를 출력할 때 사용
<fmt:message key="welcome.message" />
- fmt:formatNumber: 숫자나 통화를 포맷팅할 때 사용
<fmt:formatNumber value="1000" type="currency" />
6. XML 처리
- x:parse: XML 문서를 파싱하여 사용할 때 사용
<x:parse var="doc" xml="${xmlData}" />
- x:out: XML 요소의 값을 출력할 때 사용
<x:out select="$doc/root/element" />
7. SQL 처리 (잘 사용되진 않지만, 간단한 데이터베이스 작업이 필요할 때 유용할 수 있음)
- sql:query: SQL 쿼리를 실행할 때 사용
<sql:query var="result" dataSource="${dataSource}">
SELECT * FROM users WHERE age > 18
</sql:query>
⚒️ 예제
// WEB\jQuery Data\Ajax\02_xml |
||
exam03.html | checkId.jsp checkId_JSTL.jsp |
아이디 중복검사 |
// WEB\jQuery Data\Ajax\02_xml |
||
exam04.html | login.jsp login_JSTL.jsp |
로그인, 비밀번호 검증 |
// WEB\jQuery Data\Ajax\02_xml |
||
exam05.html | comment_list.xml comment_write.jsp comment_write_JSTL.jsp comment_delete.jsp |
jQuery Comment |
'WEB > JSP_EL & JSTL' 카테고리의 다른 글
JSTL 다운로드 & 설치 (1) | 2024.09.18 |
---|