Just Do It

JSTL_Basic

by 핫도구
반응형

jsp파일에 먼저 맨 위쪽에 <%@ taglab을 활용해야한다. 일반적으로 <%@ tablab uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 를 가장 많이 사용한다.

Core Tag Library의 종류

기능분류 태그 설명
변수지원 set JSP에서 사용될 변수를 설정한다.
remove 설정한 변수를 제거한다.
흐름제어 if 조건에 따라 내부 코드를 수행한다.
choose 다중조건을 처리할 때 사용된다.
forEach 콜렉션이나 Map의 각 항목을 처리할 때 사용된다.
forTokens 구분자로 분리된 각각의 토큰을 처리할 때 사용된다.
URL 처리 import URL을 사용하여 다른 자원의 결과를 삽입한다.
redirect 지정한 경로로 Redirect한다.
url URL을 재작성한다.
기타 태그 catch 예외처리에 사용된다.
out  JspWriter에 내용을 알맞게 처리한 후 출력한다.
1. 출력 : out Tag

Java의 out객체, 표현식, EL역할

<c:out vale = "JSTL 시작" /> //JSTL 시작

2. 변수정의 : set
<c:set value = "갈비", var = "name" />
<c:set val.ue = "8", var = "age" />

3. 변수출력 : out Tag, EL
JSTL의 out_Tag
name = <c:out value "${name}" />, age = <c:out value="${age}" /> // name = 갈비, age = 8

EL
name = ${name}, age = ${age} // name = 갈비, age = 8

Java는 JSTL변수와 호환될 것인가?

<%= name %> : compile error

=> That's nono

4. 연산적용
<c:set value = "${age+age}" var="add"} // 변수 정의
age + age = ${add} // 16
age + age = <c:out value="{add}" /> // 16
<c:set value="${name == age}" var="bool} />
name = age : ${bool} // false
<c:set value="${age > add ? age : add}" var = "max" />
age > add ?? : ${max} // 16

5. 변수삭제
<c:remove var="add" />
\${empty_add} : ${empty add} // true
\${empty_age} : ${empty age} // false
<c:remove var="Asdf" />
\${empty_asdf} : ${empty asdf} // true

5. 우선순위(priority)

JSTL변수와 Page Scope의 Attribute_name이 동일하다면 어떤 것이 반환될 것인가?

<%
pageContext.setAttribute("name", "갈비갈비");
%>

name의 정의순서 : set(김갈비) -> pageScope(갈비갈비)

<c:out value="name" /> //갈비갈비

만약에 header에서 age를 정의한다면
ㅁge의 정의순서 : pageScope(10) -> set(8)

<c:out value="age" /> // 8

즉, 나중에 정의한 것이 결과로 도출되는 것을 볼 수 있다.

반응형

'JAVA > OLD' 카테고리의 다른 글

JSTL LOOP(forEach)  (0) 2024.08.19
JSTL_if, choose(조건분기)  (0) 2024.08.19
EL의 Parameter 활용  (0) 2024.08.19
EL Scope & Attribute  (0) 2024.08.19
EL Scope & Attribute  (0) 2024.08.19

블로그의 정보

AquaMan

핫도구

활동하기