본문으로 바로가기

EL문, JSTL

category Java/java 2020. 10. 20. 15:28

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

JstlTest.war
0.36MB

 

 

 

반응형

'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