1. c:out 태그 (값 출력):
- 값 출력: <c:out value="${expression}" />
2. c:set 태그 (변수 설정):
- 변수 설정: <c:set var="variableName" value="${expression}" />
3. c:remove 태그 (변수 제거):
- 변수 제거: <c:remove var="variableName" />
4. c:if 태그 (조건문):
- 조건문:
```jsp
<c:if test="${condition}">
<!-- 조건이 true일 때 실행 -->
</c:if>
```
5. c:choose, c:when, c:otherwise 태그 (다중 조건 처리):
- 다중 조건 처리:
```jsp
<c:choose>
<c:when test="${condition1}">
<!-- 조건1이 true일 때 실행 -->
</c:when>
<c:otherwise>
<!-- 모든 조건이 false일 때 실행 -->
</c:otherwise>
</c:choose>
```
6. c:forEach 태그 (반복문):
- 반복문:
```jsp
<c:forEach var="item" items="${collection}">
<!-- 반복되는 내용 -->
</c:forEach>
```
7. c:url 태그 (URL 동적 생성):
- URL 동적 생성:
```jsp
<c:url value="/path/to/page.jsp" var="urlVar">
<c:param name="param1" value="${value1}" />
<!-- 다른 파라미터들 추가 -->
</c:url>
```
8. c:import 태그 (외부 페이지 삽입):
- 외부 페이지 삽입:
```jsp
<c:import url="externalPage.jsp" />
```
9. c:catch 태그 (예외 처리):
- 예외 처리:
```jsp
<c:catch var="exceptionVar">
<!-- 예외가 발생할 수 있는 코드 -->
</c:catch>
```
10. c:param 태그 (파라미터 전달):
- 파라미터 전달:
```jsp
<c:url value="/path/to/page.jsp" var="urlVar">
<c:param name="param1" value="${value1}" />
<c:param name="param2" value="${value2}" />
</c:url>
```
11. c:out 태그와 디폴트 값 사용:
- 값이 없을 경우 디폴트 값 출력:
```jsp
<c:out value="${user.name}" default="Guest" />
```
12. c:when과 c:otherwise를 이용한 다중 조건 처리:
- 다중 조건 처리:
```jsp
<c:choose>
<c:when test="${condition1}">
<!-- 조건1이 true일 때 실행 -->
</c:when>
<c:when test="${condition2}">
<!-- 조건2가 true일 때 실행 -->
</c:when>
<c:otherwise>
<!-- 모든 조건이 false일 때 실행 -->
</c:otherwise>
</c:choose>
```
13. c:forEach와 varStatus 속성을 이용한 인덱스 출력:
- 반복문에서 인덱스 출력:
```jsp
<c:forEach var="item" items="${collection}" varStatus="loop">
${loop.index + 1}. ${item}<br />
</c:forEach>
```
14. c:if를 이용한 값의 존재 여부 확인:
- 값의 존재 여부 확인:
```jsp
<c:if test="${not empty username}">
Welcome, ${username}!
</c:if>
```
15. c:choose와 c:when을 이용한 문자열 비교:
- 문자열 비교:
```jsp
<c:choose>
<c:when test="${status eq 'active'}">
User is active.
</c:when>
<c:otherwise>
User is inactive.
</c:otherwise>
</c:choose>
```
이러한 예제들은 `c` 태그 라이브러리를 다양한 상황에서 활용하는 방법을 보여줍니다. 각 예제는 특정 상황에 맞게 수정하여 사용할 수 있습니다.
====
JSTL(JavaServer Pages Standard Tag Library)은 Java 웹 응용 프로그램을 개발할 때 사용되는 표준 태그 라이브러리입니다. 이를 사용하면 JSP 페이지에서 자바 코드를 최소화하고, 더 간결하고 유지 보수가 쉬운 코드를 작성할 수 있습니다. `c:` 접두사는 JSTL의 "코어" 태그 라이브러리를 나타냅니다. 여기에는 페이지 흐름을 제어하고 데이터를 처리하는 데 사용되는 다양한 태그가 포함되어 있습니다.
1. **c:out**: 이 태그는 표현식의 결과를 출력하는 데 사용됩니다. 주로 HTML 속성이나 텍스트 내부에 동적으로 값을 출력할 때 사용됩니다.
2. **c:set**: 변수를 설정하고 값을 할당하는 데 사용됩니다. 주로 조건부 로직이나 반복문에서 변수를 사용할 때 유용합니다.
3. **c:remove**: 변수를 제거하는 데 사용됩니다. 변수의 범위를 제한하거나 더 이상 필요하지 않은 경우에 사용됩니다.
4. **c:if, c:choose, c:when, c:otherwise**: 조건부 로직을 실행하는 데 사용됩니다. if-else 문과 유사한 기능을 제공하여 조건에 따라 다른 동작을 수행할 수 있습니다.
5. **c:forEach**: 컬렉션 요소에 대해 반복하는 데 사용됩니다. 리스트나 맵과 같은 컬렉션을 반복하고 각 요소에 대한 처리를 수행할 수 있습니다.
6. **c:url**: URL을 동적으로 생성하는 데 사용됩니다. 매개변수를 추가하거나 서블릿 경로를 설정하는 등의 기능을 제공합니다.
7. **c:import**: 외부 리소스를 가져오는 데 사용됩니다. 다른 JSP 페이지나 HTML 문서를 현재 페이지에 포함할 수 있습니다.
8. **c:param**: URL 매개변수를 설정하는 데 사용됩니다. c:url과 함께 사용하여 동적 URL을 생성할 때 유용합니다.
9. **c:catch**: 예외를 처리하는 데 사용됩니다. 예외가 발생하면 예외를 처리하는 블록을 실행할 수 있습니다.
10. **c:redirect**: 페이지를 리다이렉트하는 데 사용됩니다. 지정된 URL로 페이지를 이동할 수 있습니다.
11. **c:out**: 표현식을 사용하여 변수 값을 출력하는 데 사용됩니다. XSS(Cross-Site Scripting) 공격을 방지하기 위해 HTML 특수 문자를 이스케이프하는 데도 사용됩니다.
이것은 JSTL 코어 태그 라이브러리의 일부에 불과합니다. JSTL은 다른 여러 가지 라이브러리도 포함하고 있으며, 각각의 라이브러리는 다양한 기능을 제공합니다. JSP 개발에서 JSTL은 코드를 더 간결하고 가독성 있게 만들어주는 강력한 도구입니다.
'업무중' 카테고리의 다른 글
JSTL c 태그 현재 URL 가져오기 (0) | 2024.01.17 |
---|---|
맨날 헷갈리는 Oracle NVL 함수 (0) | 2024.01.17 |
웹투비 webtob 실행, 종료, http.m 컴파일 (0) | 2024.01.12 |
리눅스 cp 명령어 예제 (0) | 2024.01.12 |
리눅스 명령어 모아보기 (0) | 2024.01.12 |