2020. 9. 18. 21:40ㆍSpring
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
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
// 세션값 가져오기
// String id=(String)session.getAttribute("id");
// if(세션값이 없으면) loginForm.jsp 이동
// if(id == null){
// response.sendRedirect("loginForm.jsp");
// }
%>
<c:if test="${empty sessionScope.id }">
<c:redirect url="./login" />
</c:if>
<h1>jsp4/main.jsp</h1>
${sessionScope.id}님 로그인 하셨습니다.
<input type="button" value="로그아웃" onclick="location.href='./logout'">
<br>
<a href="./info">회원정보조회</a>
<a href="./update">회원정보수정</a>
<a href="./delete">회원정보삭제</a>
<%
// 회원목록 관리자(admin) 볼수 있게 처리
// if 세션값이 있으면
// if 세션값이 "admin"같으면 회원목록
// if(id!=null){
// if(id.equals("admin")){
// }
// }
%>
<c:if test="${not empty sessionScope.id }">
<c:if test="${sessionScope.id eq 'admin' }">
<a href="./list">회원목록</a>
</c:if>
</c:if>
<c:choose>
<c:when test="${5+10==50 }">
<h3>5+10은 50이다</h3>
</c:when>
<c:otherwise>
<h3>5+10은 50이 아니다</h3>
</c:otherwise>
</c:choose>
<c:forEach var="i" begin="1" end="10" step="2">
${i }
</c:forEach>
<c:forEach var="mb" items="${memberList }">
${mb.id },${mb.pass },${mb.name }
</c:forEach>
<c:set var="data" value="홍길동,김길동,고길동"/>
<c:forTokens var="d" items="${data }" delims=",">
${d }
</c:forTokens>
<br>
<fmt:setLocale value="en_US"/>
<fmt:formatNumber value="50000" type="currency" />
<fmt:formatNumber value="0.15" type="currency" />
<fmt:formatNumber value="123456789" pattern="###,###,###" />
<br>
<jsp:useBean id="date" class="java.util.Date"/>
<fmt:formatDate value="${date }" type="date"/>
<fmt:formatDate value="${date }" type="time"/>
<fmt:formatDate value="${date }" type="both"/>
</body>
</html>
|
cs |
MVC 2를 기반으로 프로젝트를 할 때부터 생각을 해왔던 것인데 View에서 Java코드를 사용하면 안 될 거라고
생각을 해왔었다. 왜냐하면 View 와 Model, Controller로 나눈 의미가 없어지니까 View 즉 jsp 페이지에서는
Java 코드를 사용하지 않는 방법이 있을까 고민해왔는데 JSTL 이라는 방법이 있었다.
사용하기 전에 전역변수로 선언해주기 위해 <%@ %> 안에 taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"
선언해주고 사용을 시작 하면 된다. c:if는 if문이고 c:redirect는 포워딩시켜주는 태그이다.
c:if를 사용해서는 else 구문의 역할을 하는 태그를 사용할 수가 없고 그저 간단한 조건만 정의가 가능하고
여러 조건을 if-else로 사용하고 싶을 때는 c:choose를 먼저 선언해주고 그 안에 c:when을 선언해준다.
c:when이 if 의 역할이고, c:otherwise 가 else의 역할을 한다. for문도 c:forEach를 사용하여 var은
변수의 역할 이고,value 나 item 이 받아오는 변수나 객체를 선언해주는 문법이다.
c:set 은 변수의 설정 문법이고, c: forTokens 는 delims로 구분자를 선언해줘서 for문을 반복 사용할 때
구분자를 변수 사이사이에 입력해 출력할 수 있는 용도의 문법이다.
fmt는 jstl에서의 데이터 포맷 문법이다.
마찬가지로 <%@ %> 안에 taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"
선언을 해주고 사용하면 된다. 마지막에 <jsp:useBean> 태그는 jsp 페이지 내에서 Bean 객체를 선언해주는 것이다.
이 태그로 java 페이지에서 선언된 객체들도 가져와서 사용이 가능하니 잘 알아두고 사용하면 되겠다.
'Spring' 카테고리의 다른 글
Spring - Maven (0) | 2020.09.18 |
---|---|
Spring - Connection (0) | 2020.09.18 |
Spring - servlet-context.xml (0) | 2020.09.15 |
Spring - 출력문, DI(Dependecy Injection) (0) | 2020.09.15 |