JSTL 태그 라이브러리
JSTL은 일반적으로 단일 태그 라이브러리로 간주됩니다. 하지만 JSTL에는 실제로 4개의 태그 라이브러리가 있습니다. 이러한 태그 라이브러리는 다음과 같이 요약됩니다.
핵심 태그 라이브러리 - 웹 애플리케이션에 필요한 일부 태그가 포함되어 있습니다. 핵심 태그 라이브러리의 예로는 루프, 표현식 할당, 기본 입력 및 출력이 있습니다. .
형식화/국제화 태그 라이브러리 - 데이터를 구문 분석하는 데 사용되는 태그 라이브러리를 포함합니다. 이 태그는 날짜, 다양한 장소 영역 등과 같은 데이터를 구문 분석합니다.
데이터베이스 태그 라이브러리 - SQL 데이터베이스에 액세스하는 데 사용되는 태그가 포함되어 있습니다. 이러한 태그는 일반적으로 프로토타입 프로그램만 생성합니다. 이는 대부분의 프로그램이 JSP 페이지에서 직접 데이터베이스 액세스를 처리하지 않기 때문입니다. 데이터베이스 액세스는 JSP 페이지에서 액세스할 수 있는 EJB에 포함되어야 합니다.
XML 태그 라이브러리 - XML 요소에 액세스하는 데 사용되는 태그가 포함되어 있습니다. XML은 웹 개발에 널리 사용되기 때문에 XML 처리는 JSTL의 중요한 기능입니다.
이번 글에서는 핵심 태그에 대해서만 간략하게 소개하겠습니다. 사용자가 양식에 입력한 데이터를 처리하는 방법에 대한 간단한 예를 살펴보겠습니다. 프로그램 점검을 시작하기 전에 먼저 JSTL에서 표현식을 처리하는 방법을 살펴보겠습니다. JSTL의 표현식 처리는 JSP2.0에서만 사용할 수 있는 EL 표현식 언어를 사용하여 수행됩니다. 다음 섹션에서는 EL 표현 언어를 살펴보겠습니다.
EL 표현 언어
JSP 2.0의 주요 구성 요소는 EL이라는 새로운 표현 언어입니다. EL은 JSTL에서 널리 사용됩니다. 그러나 EL은 JSTL이 아닌 JSP의 기능이라는 점을 기억하는 것이 중요합니다. JSP 2.0에서 사용되는 JSP 스크립틀릿 코드에는 EL 표현식이 포함될 수 있습니다. 다음 코드 줄은 JSP 스크립틀릿 코드의 EL을 보여줍니다
.
배송비를 포함한 총액은 ${total+shipping}입니다.
</p>
보시다시피 총계와 배송비를 추가하면 HTML이 생성되고 해당 값이 브라우저에 표시됩니다. 이러한 표현식은 JSTL 태그에서도 사용할 수 있습니다. JSTL1.0의 중요한 문제점은 JSTL을 JSP1.2 버전에서 사용할 수 없다는 것입니다. JSP1.2는 EL을 지원하지 않기 때문에 EL 사용을 용이하게 하려면 몇 가지 추가 JSTL 태그를 제공해야 합니다. 예를 들어 JSTL을 사용하여 위 표현식을 표시하려면 다음 코드를 사용할 수 있습니다.
<p>
배송비를 포함한 총 금액은 <c:out var="${total+shipping"/>입니다.
</p>
JSTL을 실행하는 데 JSP2.0이 필요하지 않다는 점은 주목할 가치가 있습니다. 이 요구 사항은 EL 표현식을 표시하는 레이블을 제공하여 달성할 수 있습니다.
JSTL 예제 JSTL을 사용하여 간단한 예제를 살펴보겠습니다. 이 예에서는 웹 애플리케이션의 일반적인 프로세스를 살펴보겠습니다. 양식을 제출(POST)하고 POST 결과를 처리하는 방법을 살펴보겠습니다. 프로그램 코드는 다음과 같습니다:
<%@ taglib uri=" http://java.sun.com/jstl/core " prefix="c" %>
<html>
<머리>
<title>바디가 있는 경우</title>
</head>
<본문>
<c:if test="${pageContext.request.method=='POST'}">
<c:if test="${param.guess=='Java'}">맞추셨군요!
<br />
<br />
<br />
</c:if>
<c:if test="${param.guess!='Java'}">틀렸습니다.
<br />
<br />
<br />
</c:if>
</c:if>
<form method="post">어떤 컴퓨터 언어인지 맞춰보세요
내가 생각하고 있는 건?
<input type="text" name="guess" />
<input type="submit" value="/>
<br/>
</form>
</body>
</html>
이 간단한 웹 페이지는 사용자에게 프로그램이 염두에 두고 있는 컴퓨터 언어를 추측하도록 요청하는 양식을 표시합니다. 물론 컴퓨터는 "Java"를 생각하고 있습니다. 이 페이지는 "제출되었는지"를 확인하는 것으로 시작됩니다. 이를 통해 양식과 양식을 처리하는 코드를 동일한 페이지에 배치할 수 있습니다. 이는 다음 JSTL if 문을 통해 달성됩니다.
<c:if test="${pageContext.request.method=='POST'}">
이제 <c:if> 태그가 EL 표현식을 사용하여 요청 방법이 POST인지 확인합니다. 데이터가 페이지에 게시되면 사용자가 추측한 내용이 "guest"라는 매개변수에 저장됩니다. "guest"가 양식 입력 이름이기 때문입니다. 이제 이 매개변수가 "Java"와 같은지 확인해야 합니다. 이는 다음 <c:if> 태그를 통해 수행됩니다:
<c:if test="${param.guess=='Java'}">
짐작하셨겠죠!
</c:if>
보시다시피, 표현식이 true이면 <c:if> 태그의 본문이 실행됩니다. 이 기사에서 우리는 JSTL이 어떻게 설치되고 어떻게 작동하는지 살펴보기 시작했으며 모든 사람의 이해를 돕기 위해 몇 가지 작은 JSTL 예제도 제공했습니다.
JSTL의 핵심 태그에는 루프, 반복자 및 변수 처리도 포함됩니다. 태그를 사용하면 컬렉션 내에서 반복하고, 사용자의 세션 데이터에 액세스하고, 기타 핵심 작업을 수행하는 등의 작업을 수행할 수 있습니다. 핵심 태그 라이브러리 외에도 XML, 데이터베이스 및 형식 지정 태그 라이브러리도 고급 용도를 제공합니다.
(끝)
참고: 여기서 EL Expression Language는 EL 표현 언어로 번역되고, 일부는 EL 표현 언어로 번역되는데, 이는 같은 의미입니다.
옮김: Caiyi0903(Willpower),2004.2.19