본문 바로가기

Java & Spring/SpringFramework

16. 서블릿과 JSP(4) 21:36

728x90

11. JSTL(JSP Standard Tag Library)

<%@ taglib prefix="c"   uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<c:set var="to"   value="10"/>
// 접두사

taglib 정의되어 있어야 JSTL를 사용할 수 있음.

 

<c:set var="to"   value="10"/>

EL은 지역변수 사용 불가.

그래서 저장소에 저장.

Key Value
"to" "10"

scope="page"가 생략되어 있음.

 

<c:set var="arr"  value="10,20,30,40,50,60,70"/>

배열저장.

 

<c:forEach var="i" begin="1" end="${to}">
	${i}
</c:forEach>

1부터 10까지 출력.

 

<c:if test="${not empty arr}">
	<c:forEach var="elem" items="${arr}" varStatus="status">
		${status.count}. arr[${status.index}]=${elem}<BR>
	</c:forEach>
</c:if>

비어있지 않으면 하나씩 돌아서 넣음.

varStatus = "status"

count와 index를 갖고있음.

 

<c:if test="${param.msg != null}">
	msg=${param.msg} 
	msg=<c:out value="${param.msg}"/> <!-- Tag 해석 x -->
</c:if>

c:out 태그을 사용하면 <p> 태그가 해석되지 않음. 텍스트로만 해석함.

자바스크립트 공격을 막을 수 있음.

 

<c:if test="${param.msg == null}">메시지가 없습니다.<br></c:if>
<c:set var="age" value="${param.age}"/>
<c:choose>
	<c:when test="${age >= 19}">성인입니다.</c:when>
	<c:when test="${0 <= age && age < 19}">성인이 아닙니다.</c:when>
	<c:otherwise>값이 유효하지 않습니다.</c:otherwise>
</c:choose>

 

12. Fileter

- 공통적인 요청 전처리와 응답 후 처리에 사용. 로깅, 인코딩 등.

중복코드는 분리해야 되는데 이떄 사용하는것이 바로 Fileter

1. 요청이 오면

2. 전처리 하고

3. 서블릿 호출하고

4. 해당 서블릿으로 가서 처리하고

5. 후처리하고

6. 응답.

이런용도로 Fileter을 사용한다. = AOP 개념과 유사.

 

 

 

 

 

728x90

'Java & Spring > SpringFramework' 카테고리의 다른 글

18. @RequestMapping 21:56  (0) 2022.08.01
17. @RequestParam과 @ModelAttribute 33:43  (0) 2022.08.01
15. 서블릿과 JSP(3) 39:36  (0) 2022.08.01
14. 서블릿과 JSP(2) 25:09  (0) 2022.08.01
13. 서블릿과 JSP(1) 31:47  (0) 2022.08.01