프로그래밍 정리/JSP, Servlet, DB(oracle)

웹 프로그래밍 20-1(JSP)-JSTL 시작

Wooni0477 2020. 1. 6. 10:22
반응형
웹 프로그래밍 20-1(JSP)-JSTL 시작


*JSTL(JSP Standard Tag Library)

jsp에서 java언어를 사용하기에 불편함이 있다. 이를 위해 나온 라이브러리 이다.

JSTL은 java언어와 다르지만 틀자체는 변한것이 없기 때문에 조금만 연습하면 금방 익숙해 질것이다.

*JSTL 라이브러리

JSTL은 5가지 라이브러리를 지원한다. 이번장에서는 core만 다루어 본다.

*설치

시작하기전에 라이브러리부터 설치 해주어야 한다.

1. 톰켓사이트(http://tomcat.apache.org/) => Download 메뉴에 Taglibs 클릭

2. Apache Standard Taglib를 클릭




   4.binaries클릭

6. 다운 받은 파일을 압축풀고

\jakarta-taglibs-standard-1.1.2\jakarta-taglibs-standard-1.1.2\lib

해당경로안에 있는 파일을 복사한다.

jstl.jar

standard.jar

7. 톰켓서버 폴더안에 lib에 붙여넣기

자신의 톰켓 경로\apache-tomcat-8.5.47\lib

*Core

core는 기본적인 라이브러리로 제어문, 반복문 같은 기능이 포함 되어있다.



-변수 선언, 출력


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
//변수 선언
<c:set var="변수명" value="값" target="객체(map, list등..)" 
        property="property="객체(map,list..)의 속성이름(name : 10 => name을 가리킴)"
                scope="범위" >
 
 
//변수 출력
<c:out value="출력값" default="기본값">
 
 
ex1)
<!-- 변수 선언-->
<c:set var="num1" value="${ 20}"></c:set><br>
 
<!-- 변수 출력 -->
<c:out value="num1" default="${10}">
 
ex2)
<!--map 생성 -->
<c:set var="ht" value="<%= new HashMap<String,String>() %>"></c:set>
 
<!-- map에 값 넣음 -->
<c:set target="${ht}" property="name" value="hong"></c:set>
 
<!-- map 값 출력 -->
<c:out value="${ht.name}" >
cs



-변수값 제거


1
2
//변수 제거
<c:remove var="변수명" scope="범위"
cs


-예외처리


1
2
//예외 처리
<c:catch var="변수명">
cs

-if문


1
2
3
4
5
6
7
8
//if문
<c:if test="조건문" var="조건 처리 변수명" scope="범위">
 
ex) 
<!-- 60보다 같거나 크면 실행 -->
<c:if test="${ param.kor >= 60}">
    <c:out value="합격입니다."></c:out>
</c:if>
cs

-choose문(≒스위치문)


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
//choose문
<c:choose>
        <c:when test="조건"> 처리내용 </c:when>
        <c:when test="조건"> 처리내용 </c:when>
        <c:otherwise>(switch문 default랑 같음)처리내용</c:otherwise>
</c:choose>
 
ex)
<c:choose>
    <c:when test="${jumsu>=90 }">
        <c:out value="수입니다."></c:out>
    </c:when>
    <c:when test="${jumsu>=80 }">
        <c:out value="우입니다."></c:out>
    </c:when>
    <c:when test="${jumsu>=70 }">
        <c:out value="미입니다."></c:out>
    </c:when>
    <c:when test="${jumsu>=60 }">
        <c:out value="양입니다."></c:out>
    </c:when>
    <c:when test="${jumsu>=50 }">
        <c:out value="가입니다."></c:out>
    </c:when>
</c:choose>
cs

-forEach문


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//for 문
<c:forEach var=변수명 items = "객체(list,map...)" begin = "시작번호" end = "끝번호" step = "증가수" >
</c:forEach>
    
ex1) 
<!-- 1 부터 10까지 1씩 증가 -->
 <c:forEach var="i" begin="1" end="10" step="1">
     ${i}<br>
 </c:forEach>
 
ex2) 
<!--map 생성 -->
<c:set var="ht" value="<%=new HashMap<String,String>()%>"></c:set>
 
<!-- map에 값 넣음 -->
<c:set target="${ht }" property="name" value="hong gil dong"></c:set>
 
<!-- map에 있는 키와 값 하나씩 출력 -->
<c:forEach var="i" items="${ht}">
     ${i.key} : <c:out value="${i.value }"></c:out><br>
</c:forEach>
cs

-forEach 출력값




-Tokenizer

1
2
3
4
5
6
7
8
9
//tokenizer
<c:forTokens var="변수명" items="값" delims="구분문자">
    <c:out value="${변수명}"></c:out>
</c:forTokens>
 
ex)
<c:forTokens var="color" items="red;green;blue;black" delims=";">
    <br><c:out value="${color}"></c:out>
</c:forTokens>
cs


-Tokenizer 출력값








-페이지 이동

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//redirect
<c:redirect url="전송할 페이지">
 
ex)
<!-- redirect_response.jsp 페이지로 이동 -->
<c:redirect url="redirect_response.jsp">
 
 
 
 
 
//redirect - 파라미터 포함
<c:redirect url="전송할 페이지">
    <c:param name="파라미터명" value="값"></c:param>
</c:redirect>
 
ex)
<!-- redirect_response.jsp 페이지로 이동 + 값 포함 -->
<c:redirect url="redirect_response.jsp">
    <c:param name="name" value="hong gil dong"></c:param>
</c:redirect>
cs




-종합

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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
//변수 선언
<c:set var="변수명" value="값" target="객체(map, list등..)" 
        property="property="객체(map,list..)의 속성이름(name : 10 => name을 가리킴)"
                scope="범위" >
//변수 출력
<c:out value="출력값" default="기본값">
ex1)
<!-- 변수 선언-->
<c:set var="num1" value="${ 20}"></c:set><br>
<!-- 변수 출력 -->
<c:out value="num1" default="${10}">
ex2)
<!--map 생성 -->
<c:set var="ht" value="<%= new HashMap<String,String>() %>"></c:set>
<!-- map에 값 넣음 -->
<c:set target="${ht}" property="name" value="hong"></c:set>
<!-- map 값 출력 -->
<c:out value="${ht.name}" >
 
//변수 제거
<c:remove var="변수명" scope="범위"
//예외 처리
<c:catch var="변수명">
 
//if문
<c:if test="조건문" var="조건 처리 변수명" scope="범위">
 
ex) 
<!-- 60보다 같거나 크면 실행 -->
<c:if test="${ param.kor >= 60}">
    <c:out value="합격입니다."></c:out>
</c:if>
 
//for 문
<c:forEach var=변수명 items = "객체(list,map...)" begin = "시작번호" end = "끝번호" step = "증가수" >
</c:forEach>
    
ex1) 
<!-- 1 부터 10까지 1씩 증가 -->
 <c:forEach var="i" begin="1" end="10" step="1">
     ${i}<br>
 </c:forEach>
 
ex2) 
<!--map 생성 -->
<c:set var="ht" value="<%=new HashMap<String,String>()%>"></c:set>
 
<!-- map에 값 넣음 -->
<c:set target="${ht }" property="name" value="hong gil dong"></c:set>
 
<!-- map에 있는 키와 값 하나씩 출력 -->
<c:forEach var="i" items="${ht}">
     ${i.key} : <c:out value="${i.value }"></c:out><br>
</c:forEach>
 
 
//choose문
<c:choose>
        <c:when test="조건"> 처리내용 </c:when>
        <c:when test="조건"> 처리내용 </c:when>
        <c:otherwise>(switch문 default랑 같음)처리내용</c:otherwise>
</c:choose>
 
ex)
<c:choose>
    <c:when test="${jumsu>=90 }">
        <c:out value="수입니다."></c:out>
    </c:when>
    <c:when test="${jumsu>=80 }">
        <c:out value="우입니다."></c:out>
    </c:when>
    <c:when test="${jumsu>=70 }">
        <c:out value="미입니다."></c:out>
    </c:when>
    <c:when test="${jumsu>=60 }">
        <c:out value="양입니다."></c:out>
    </c:when>
    <c:when test="${jumsu>=50 }">
        <c:out value="가입니다."></c:out>
    </c:when>
</c:choose>
 
//tokenizer
<c:forTokens var="변수명" items="값" delims="구분문자">
    <c:out value="${변수명}"></c:out>
</c:forTokens>
 
ex)
<c:forTokens var="color" items="red;green;blue;black" delims=";">
    <br><c:out value="${color}"></c:out>
</c:forTokens>
 
//redirect
<c:redirect url="전송할 페이지">
 
ex)
<!-- redirect_response.jsp 페이지로 이동 -->
<c:redirect url="redirect_response.jsp">
 
//redirect - 파라미터 포함
<c:redirect url="전송할 페이지">
    <c:param name="파라미터명" value="값"></c:param>
</c:redirect>
 
ex)
<!-- redirect_response.jsp 페이지로 이동 + 값 포함 -->
<c:redirect url="redirect_response.jsp">
    <c:param name="name" value="hong gil dong"></c:param>
</c:redirect>
 
cs


반응형