코어 태그 라이브러리는 if-else나 변수의 지정등과 같이 논리적인 처리를 위해 사용되는 스크립트 코드를 대체하기 위한 태그를 제공한다.
코어 태그 라이브러리 | |
기능 분류 | 태그 |
변수지원 | set remove |
흐름 제어 | if choose forTokens |
URL 처리 | import redirect url |
기타 태그 | catch out |
코어 태그 라이브러리를 사용하려면 JSP 페이지에 taglib 디렉티브를 추가 해주어야 한다.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
*예제를 위한 클래스 생성
package jstl;
public class Member {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
1. 변수 지원 태그 <c:set>과 <c:remove>
1-1. <c:set> 태그
<c:set> 태그는 EL의 변수의 값이나 EL 변수의 프로퍼티 값을 지정할 때 사용된다.
1) EL 변수 생성 (생성 또는 변경)
<c:set var="변수명" value="값" [scope="영역"] />
<c:set var="변수명" value="값" [scope="영역"] >값</c:set>
2) 특정 EL 변수의 프로퍼티 값 설정
<c:set target="대상" property="프로퍼티이름" value="값" />
<c:set target="대상" property="프로퍼티이름">값</c:set>
*예제
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ page import="jstl.Member" %>
<%@ page import="java.util.HashMap" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
Member member = new Member();
HashMap<String, String> pref = new HashMap<String, String>();
%>
<html>
<head>
<title>c:set 태그 사용</title>
</head>
<body>
<c:set var="member" value="<%= member %>" />
<c:set target="${member}" property="name" value="코딩코"></c:set>
<c:set var="pref" value="<%= pref %>"/>
<c:set var="favoriteColor" value="#{pref.color}" />
회원 이름: ${member.name},
좋아하는 색: ${favoriteColor}
<br/>
<c:set target="${pref}" property="color" value="red" />
설정 이후 좋아하는 색: ${favoriteColor}
</body>
</html>
favoriteColor라는 변수에 color 값을 넣어주지 않아 좋아하는 색의 값을 출력하지 않지만
<c:set target="${pref}" property="color" value="red" /> 코드를 입력 해 프로퍼티 값을 설정해서 호출하면 입력해준 프로퍼티 값을 출력 할 수 있다.
1-2. <c:remove> 태그로 변수 삭제
<c:remove var="varName" [scope="영역"] />
scope를 지정하지 않으면 동일한 이름으로 저장된 모든 영역의 변수를 삭제한다.
'Dev > Java' 카테고리의 다른 글
(JSP2.1) 답변형 게시판 구현 - 테이블 생성과 Article 클래스 (0) | 2022.09.26 |
---|---|
JSTL - 코어 태그 2 (if, choose, forEach, forTokens) (0) | 2022.09.22 |
표준 태그 라이브러리(JSTL) (0) | 2022.09.21 |
싱글톤 (Singleton) (1) | 2022.09.16 |
세션 session (0) | 2022.09.02 |
댓글