728x90
반응형
JSTL(JavaServer Pages Standard Tag Library)은 JSP(JavaServer Pages)를 개발할 때 사용할 수 있는 태그 라이브러리입니다.
JSTL은 Java 웹 개발에서 자주 사용되는 코드를 태그 형식으로 제공하여 개발자들이 더 간단하고 효율적으로 JSP를 작성할 수 있도록 지원합니다.
JSTL은 다양한 태그 라이브러리를 제공합니다. 예를 들어, core 태그 라이브러리는 JSP 페이지에서 변수를 선언하고 출력하는 기능을 제공합니다. 또한, loop 태그 라이브러리는 for문과 같은 반복문을 처리할 수 있습니다. 이 밖에도 JSTL은 조건문, 함수 호출, URL 처리 등 다양한 기능을 제공합니다.
JSTL은 Java 웹 개발에서 일반적으로 사용되는 자바 코드를 JSP 페이지에서 처리할 수 있도록 하여, 개발자들이 더 쉽게 JSP 페이지를 작성할 수 있도록 합니다. 또한, JSTL은 태그 형태로 제공되기 때문에 코드의 가독성을 높이고 유지보수를 더 쉽게 할 수 있습니다.
JSTL은 자바 웹 개발에서 광범위하게 사용되며, 다양한 태그 라이브러리를 제공하여 개발자들이 더 간편하게 JSP 페이지를 작성할 수 있도록 도와줍니다.

 

 

1. JSTL 라이브러리 추가하기
먼저, JSTL 라이브러리를 다운로드 받아 프로젝트에 추가해야 합니다. JSTL 라이브러리는 JSP 페이지에서 사용할 수 있는 태그 라이브러리입니다. 이 라이브러리를 사용하기 위해서는 다음과 같이 웹 프로젝트의 WEB-INF/lib 디렉토리에 jstl.jar 파일과 standard.jar 파일을 추가해야 합니다.

2. JSTL 태그 라이브러리 선언하기
JSTL 태그를 사용하려면 JSTL 태그 라이브러리를 선언해야 합니다. JSP 페이지의 상단에 다음과 같이 선언합니다.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

 - prefix 속성은 태그를 구분하기 위한 접두어를 지정하고, uri 속성은 JSTL 태그 라이브러리의 위치를 지정합니다.

3. JSTL 태그 사용하기
JSTL 태그를 사용하는 방법은 다음과 같습니다.

 3-1 변수 선언

<c:set var="변수명" value="값" />

3-2 변수 출력

<c:out value="${변수명}" />

3-3 조건문

<c:if test="${조건식}">
  ...
</c:if>

 

3-4 반복문

<c:forEach var="변수명" items="${컬렉션}">
  ...
</c:forEach>

3-5 함수 호출

${fn:함수명(인자)}

 

 

 

728x90
반응형
728x90
반응형

자바에서 받아온 변수를 JSTL을 사용해서 출력, 수정 등 컨트롤할 수 있다.

JSTL을 이용해서 받아온 변수를 수정하거나 다루는방법을 정리해본다.

 

<c:set>에는 property, scope, target, value, var 5개의 속성을 사용할 수 있다.

 - property : 프로퍼티 설정

 - scope : 변수가 저장된 스코프이며, page, request, session, application 4가지 속성값을 가질 수 있고, 선언하지 않아도 기본값으로 page가 설정된다.

 - target : 프로퍼티를 설정할 빈 또는 맵

 - value : 변수에 넣을 값

 - var : 변수명

 

1. 변수 선언하기 <c:set>

<!-- 기본선언 -->
<c:set var="item1" value="computer">

<!-- 출력 -->
${item1}

<!-- scope사용, 미선언시 기본값 "page" -->
<c:set var="item1" value="computer" scope="request">

 

2. 변수 삭제하기 <c:remove>

<!-- 해당 변수 삭제 -->
<c:remove var="item1"/>

<!-- 
해당 스코프의 변수 삭제
*스코프 선언하지 않을경우 모든스코프의 해당변수삭제
-->
<c:remove var="item1" scope="request"/>

 3. 변수 출력하기 <c:out>

<!-- 변수 출력1 -->
<c:out value="${item1}"/>

<!-- 변수 출력2 (item1의 값이 null일시 "item"으로 출력) -->
<c:out value="${item1} default="item"/>

<!-- 변수 출력3 -->
${item1}

 

이렇게 JSTL 변수 기본 사용법을 마무리하고, 응용까지 해보자.

 

1. 변수값 변경

<!-- 변수 선언 -->
<c:set var="item1" value="computer"/>
<c:set var="item2" value="mouse"/>
<c:set var="tmp" value="${item1}"/>

${item1} <!-- 결과 : computer -->
${item2} <!-- 결과 : mouse -->

<!-- 변수값 바꾸기 -->
<c:set var="item1" value="${item2}"/>
<c:set var="item2" value="${tmp}"/>

${item1} <!-- 결과 : mouse-->
${item2} <!-- 결과 : computer-->

 

2. Map 변수선언 및 사용

<c:set var="myMap">
    <c:catch>
        <%
            Map<String, String> map = new HashMap<String, String>();
            map.put("key1", "value1");
            map.put("key2", "value2");
            out.print(map);
        %>
    </c:catch>
</c:set>

<c:forEach var="entry" items="${myMap}">
    Key: ${entry.key}, Value: ${entry.value}
</c:forEach>

위 코드에서는 <c:set> 태그를 사용하여 "myMap"이라는 이름의 변수를 선언하고,

JSP 페이지 내에서 Java 코드를 실행하여 Map 타입의 객체를 생성하고,

이 객체를 "myMap" 변수에 할당한다.

그 후 <c:forEach> 태그를 사용하여 "myMap" 변수에 저장된 Map 타입의 객체를 반복문으로 순회하며,

각각의 키와 값을 출력한다.

즉, 변수를 선언할 때 Map 타입을 사용할 수 없지만, 변수에 Map 타입의 객체를 할당하여 사용하는 것은 가능하다.

728x90
반응형

+ Recent posts