JSTL (Java Standard Tag Library)- 1
JSP에서 사용하는 스탠다드 태그 라이브러리
:모델 1방식과 같아지는 것을 방지하기 위해 만든 태그 라이브러리, 자바코드 기능을 태그의 형태로 구현할 수 있다.
라이브러리 |
하위기능 |
접두어(prefix) |
관련 URI |
코어 |
변수지원, 흐름제어, URL처리 |
c |
http://java.sun.com/jsp/jstl/core |
XML |
XML 관련 처리, Xml 흐름제어 |
x |
http://java.sun.com/jsp/jstl/xml |
국제화 |
국제화처리, 메시지 관리 |
fmt |
http://java.sun.com/jsp/jstl/fml |
데이터베이스 |
데이터베이스 접근//DAO가 따로 있어서잘안쓰임 |
sql |
http://java.sun.com/jsp/jstl/sql |
함수 |
Collection 처리, String 처리 |
fn |
http://java.sun.com/jsp/jstl/function |
모델2 방식은 jsp에서 자바코드들을 제거한 방식인데 스크립트릿을 써야만할때가 있다.
ex)벡터를 이용하여 여러가지 자료를 jsp페이지로 가져올때 반드시 for문과 같은 반복문 써야하는데,
반복문을 사용할땐 또 다시 스크립트릿을 써야한다.
이런 경우에 스크립트릿을 쓰지 않아도 되도록 도와주는 태그를 제공한다.
uri="http://java.sun.com/jsp/jstl/core"
jstl.jar파일을 다운받아 톰캣 라이브러리에 넣어준 뒤에 jsp페이지 상단에 taglib로 임포트
1 | <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> | cs |
톰캣 라이브러리에 넣었는데도 uri를 입력할때 보기가 뜨지 않는다면 WEB-INF - lib에 jstl-1.2.jar파일을 추가해준다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <%@ 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> <html> <body> <!--""안에서 조건문은 인식하지 못하므로 EL태그 써주면 된다. --> <c:if test=" ${ 4 > 3 } "> 안녕하세요 </c:if> </body> </html> | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <%@ 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> <html> <body> <!--EL문 사용을 위해 c:set 태그를 이용한 Attribute 변수 선언 --> <c:set var="i" value="4" /> //var(variable) <% request.setAttribute("i", 4); //와 같은 기능을 한다. 자바코드를 쓰지 않기위해 위 태그 사용하여 변수 선언 %> <c:if test=" ${ i > 3 } "> 안녕하세요 </c:if> </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <%@ 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> <html> <body> <!-- 반복문 --> <c:set var="sum" value="0" /> <!-- step은 몇씩 증가하는지 설정해줌, step을 안쓰면 자동으로 1씩 증가 --> <c:forEach var="i" begin="1" end="10"> <c:set var="sum" value="${sum=sum+i}" /> </c:forEach> ${sum} </body> </html> | cs |
출력 결과 : 55
step은 몇씩 증가하는지 설정해줌, step을 안쓰면 자동으로 1씩 증가
1 | <c:forEach var="i" begin="1" end="10" step="${i=i+2}"> |
'JSP > JSP & Servlet ' 카테고리의 다른 글
서블릿의 이해 (0) | 2019.05.22 |
---|---|
JSTL (Java Standard Tag Library)- 2 (0) | 2019.05.21 |
EL(Expression Language) 사용법 -1 (0) | 2019.05.21 |
JSP Web Programming : model2 방식 (0) | 2019.05.21 |
파일 업로드 (0) | 2019.05.21 |