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
핫도구