19.05.21 jsp MVC model2 programming-JSTL (jsp model 2 4강~5강)

Back-End/JSP 2019. 5. 21. 17:55
728x90
반응형

JSTL 이란?


표현언어 (EL : Expression Language)의 값(데이터)를 웹 페이지에 표시 (표현) 하는데 사용되는 태그 입니다.


(자바 . 스탠다드 . 태그 . 라이브러리) 의 약자



- JSTL -


라이브러리

하위기능 

접두어 

관련 URL 

코어

변수지원, 흐름제어, URL 처리 

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/fmt

데이터베이스

데이터베이스 접근

sql

http://java.sun.com/jsp/jstl/sql

함수

Collection 처리 String 처리

fn

http://java.sun.com/jsp/jstl/functions



-코어 라이브러리 사용이유-


유동적인 값을 출력할때는 벡터를 사용해서 출력을 해야하는데 그렇게 하려면 반복문 FOR문을 사용해야 한다.

for문을 사용하게되면 model2방식을 사용하더라도 jsp 파일에 자바코드가 섞여들어가서 model 2방식을 사용하는 의미가 없어지게 된다.

그렇기 때문에 코어 라이브러리를 사용하게 된다.



태그 요약 (Tag Summary)

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:forToken> 태그로 사용된다. 


out


  JSP의 표현식을 대체하는 것으로 가장 많이 사용된다. 사용 시에는 <c:out> 태그로 사용된다.


otherwise


  <choose> 의 서브 태그로 <when> 태그 다음에 표시되는 것으로 조건을 만족하지 못한 경우에 사용한다.

  사용시에는 <c:otherwise> 태그로 사용된다. 


param


  <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


  <choose>의 서브태그로 조건의 비교시에 조건을 만족한 경우에 사용한다.

  사용 시에는 <c:when> 태그로 사용된다.





  JSTL 파일 다운로드


  출처

  https://cafe.naver.com/contentskorealab


  다운로드 받고 톰캣 lib 폴더 안에 넣기




-예제 및 출력 결과-

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
 
    <!-- 
         *          1개
       ***        3개
      *****        5개
     *******    7개
    *********    9개
 -->
 
 
    <!-- 변수 선언 -->
 
    <!-- for문이 총 3개가 필요하다 공백 for문 , *을 출력하는 for문, 전체 for문 -->
 
    <!-- 5개의 반복적인 일을 하는 outer for문들 -->
    <c:forEach var="i" begin="0" end="4">
 
        <!-- 공백을 출력하는 반복문을 작성 -->
        <c:forEach var="j" begin="${i+1}" end="4">
    
        &nbsp;
    </c:forEach>
 
        <!-- *을 출력하는 반복문을 작성 -->
        <c:forEach var="j" begin="1" end="${1+(i*2)}">
    
    *
    
    </c:forEach>
 
        <br>
    </c:forEach>
 
</body>
</html>
cs




728x90
반응형
: