EL (Expression Language)
: 표현식으로 Attribute나 Parameter 등을 jsp파일에 출력할 용도로 사용하는 언어
: Attribute를 출력할 때
${Attrubute 이름}
: Parameter를 출력할 때
: ${param.이름} = request.getParameter("이름");
${param.이름}
${paramValue.이름[인덱스]}
: 연산자는 EL로 불러올 수 없음
기호 연산자 | 영문 단어 연산자 |
/ | division |
% | modulo |
&& | and |
|| | or |
! | not |
== | equals |
!= | not equals |
< | less than |
> | greater than |
<= | less or equal |
>= | greater or equal |
empty-null 이면 True |
JSTL (Jsp Standard Tag Library)
라이브러리 | 하위 기능 | 접두어 |
* 코어 | 변수 지원, 흐름 제어, URL처리 | c |
XML | XML 관련 처리, XML 흐름 제어 | x |
국제화 | 국제화 처리, 메세지 관리 | fmt |
데이터 베이스 | 데이터베이스 접근 | sql |
함수 | Collection 처리, String 처리 | fn |
: 코어
- 가장 많이 사용하는 jstl
- 밑과 같이 taglib를 입력해줘야 코어 태그를 사용할 수 있다
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl.core" %>
: 코어 태그
코어 태그 | 설명 | 태그 |
catch | body 위치에서 실행되는 코드의 예외를 잡아내는 역할을 담당한다. | <c:catch> |
choose | 자바의 switch문과 같지만, 조건에 문자열을 비교도 가능하고 쓰임의 범위가 넓다. 하나 이상의 <when>과 하나 이하의 <otherwise> 서브 태그를 가지고 있다. |
<c:choose> |
* if | 조건문을 사용할 때 쓴다. | <c:if> |
import | 웹 애플리케이션 내부의 자원 접근은 물론이고, http, ftp 같은 외부에 있는 자원도 가져온다. 자원을 자유롭게 가공할 수도 있고, 편집도 가능하다 |
<c:import> |
* forEach | 객체 전체에 걸쳐 반복 실행을 할 때 사용한다. | <c:forEach> |
forTokens | 자바의 String Tokenizer 클래스를 사용하는 것과 같다 | <c:forTokens> |
out | Jsp의 표현식을 대체하는 것으로 가장 많이 사용된다. | <c:out> |
otherwise | <c:choose>의 서브태그로 <c:when> 태그 다음에 표시되는 것으로 조건을 만족하지 못한 경우에 사용한다. |
<c:otherwise> |
param | <c:import> 태그의 URL 뒤에 파라미터로 붙여서 사용할 수 있다. | <c:param> |
redirect | response.sendRedirect( )를 대체하는 태그로 지정한 다른 페이지로 이동한다. | <c:redirect> |
remove | Jsp의 removeAttribute( )와 같은 역할을 한다. (page, request, session, application) 범위의 변수(속성)을 제거한다. |
<c:remove> |
* set | Jsp의 setAttribute( )와 같은 역할을 한다. (page, request, session, application) 범위의 변수(속성)을 설정한다. |
<c:set> |
url | 쿼리 파라미터로 부터 URL을 생성한다. | <c:url> |
when | <c:choose>의 서브태그로 조건의 비교시에는 조건을 만족한 경우에 사용한다. | <c:when> |
- c:set 사용 예
<c:set var="i" value="4" />
<!-- c:set은 request.setAttribute와 같음 (위 아래 둘다 같은 의미임) -->
request.setAttribute("i", 4);
- c:if 사용 예 (test는 조건, 조건에 el문 사용가능)
<c:if test = "${i > 3}">
안녕하세요.
</c:if>
- c:forEach 사용 예 (for문과 비슷함)
<c:set var="sum" value="0" />
<c:forEach var="i" begin="1" end="10" step="${i = i + 2}">
<c:set var="sum" value="${sum = sum + i}" />
<c:forEach>
forEach에 var(변수)와 step은 단순 반복시 없어도 됨
- var가 없을 시 1부터 시작
- step이 없을 시 1씩 증가
- step에는 el문 사용 가능
- begin은 시작 값
- end는 마지막(끝나는) 값
Core태그 연습 war
반응형
'Java > java' 카테고리의 다른 글
빈 xml 객체 생성 정리 (0) | 2020.10.21 |
---|---|
스프링(Spring)의 특징과 의존성 주입(DI) (0) | 2020.10.20 |
Model2 (MVC2) (0) | 2020.09.23 |
파일 업로드 (0) | 2020.09.23 |
Database (0) | 2020.09.21 |