JSTL
액션태그를 사용할 수 있도록 해주는 라이브러리 형태로 제공된 자바 패키지
JSP페이지에서는 스크립트릿, 표현식 등과 html코드가 뒤섞여 가독성이 떨어지게 된다
이러한 단점을 보완하기 위해 JSTL, 표준 태그 라이브러리를 사용한다
jstl.jar, standard.jar 다운 > 사용할 프로젝트의 WebContent > WEB-INF > lib 에 저장
*JSTL을 사용하기 위해서는 taglib 디렉티브를 추가해야한다
<%@ taglib prefix="식별자" uri="~" %>
이 액션태그, 표현언어의 단점
문법적으로 에러가 발생했을때 에러 메세지를 내보내지 않고, 출력이 안됨
EL(Expression Language)
표현언어
출력문으로 변수의 값, 수식계산, 객체의 속성값 등을 출력한다
ex) ${표현식}
<%=num%> => ${num}
JSTL이 제공하는 태그의 종류(core, fmt, sql, xml, fn)
▶ core 태그 라이브러리
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- set 태그
변수 선언 및 초기화
<%
int num=10;
int num2=20;
%>
<!--jstl set태그 사용
자료형은 저장되는 값에 따라 자동으로 결정된다
scope="page"(default)/"request"/"session"/"application"-->
<c:set var="num" value="10"/>
<c:set var="num2">20</c:set>
객체 생성, 객체의 속성에 값 설정 및 출력
target의 대상 객체는 자바빈 객체(setter,getter메소드가 존재)나 Map이어야 한다
속성 값 출력의 경우 1번째 방법을 주로 사용한다
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<c:set var="map" value="<%=new java.util.HashMap() %>" />
<html>
<head>
<meta charset="UTF-8">
<title>jstl</title>
</head>
<body>
<%--
map.put("id", "eun");
형식) <c:set target="${객체명}" property="속성명" value="저장할값" />
--%>
<!--target=map이라고 적으면 map이 일반 변수인지 객체인지 알 수 없으므로 ${}로 구분해준다-->
<c:set target="${map}" property="id" value="eun" />
<변수 map에 저장된 id의 value값 출력>
1. ${map.id}<br>
2. ${map['id']}<br>
3. ${map["id"]}<br>
</body>
</html>
전달받은 파라미터(name) 출력
이름: ${param.name}
- remove 태그
변수 삭제
scope를 지정하지 않으면 모든 영역의 동일한 변수명을 가진 변수를 삭제한다
<c:remove var="num" scope="page"/>
remove 후, num=${num} <br>
num+num2=${num+num2} <br>
<!--
remove 후, num1=
num+num2=20
-->
<!--num2=20-->
'JSP' 카테고리의 다른 글
[JSP]이클립스 Qutum DB 플러그인 (0) | 2021.03.23 |
---|---|
[JSP]MIME타입 (0) | 2021.02.19 |
[JSP]jsp 게시판 글쓰기 및 답글쓰기 흐름 (0) | 2021.02.18 |
[JSP]SimpleDateFormat, onsubmit이벤트, pre태그, a태그 mailto (0) | 2021.02.18 |
[JSP]jsp 게시판 답글 달기, 페이징 처리 용어 정리 (0) | 2021.02.17 |