Web

[JavaScript] JSTL

wave_m 2020. 12. 11. 13:46
728x90

사용 이유
- jsp에서는 java 문법을 사용하기 위해서 <% %> 이 곳 안에 코드를 써야 하는 데 html과 함께 보기에는 가독성에서 문제가 있다.
- 그렇기에 같은 성능이며 가독성이 좋은 JSTL을 씀

 

사용 방법

- web.xml or JSP 문서 상단에 라이브러리를 import 하여 사용 가능

 

 


JSTL 태그


[변수 지원]
<c:set> : JSP 페이지에서 변수를 지정

<c:set var = "name" value = "김경민" [scope="scope 속성 중 하나"]> 

 

-> scope 속성으로는 page, request, session, application

<c:remove> : 속성 내 변수를 삭제

<c:remove var = "name" [scope="scope 속성 중 하나"] /> 




[흐름 제어]
<c:if> : 속성 내의 조건의 결과가 참이면 실행(조건문)

<c:set var = "name" value = "김경민" /> 
<c:if test = "${name eq '김경민'}"> 
   <c:out value = "${str}" /> 
</c:if> 



<c:choose> : 속성 내의 결과를 여러 개로 분리 가능하며 결과가 없을 경우 기본 결과를 제공(switch문)

<c:choose> 
   <c:when test = "${name eq '김경민'}"> 
      <p>김경민입니다.</p> 
   </c:when> 
   <c:when test = "${name eq '홍길동'}"> 
      <p>홍길동입니다.</p> 
   </c:when> 
   <c:otherwise> 
      <c:out value = "${str}" /> 
   </c:otherwise> 
</c:choose> 



<c:forEach> : 지정된 범위 내에서 반복을 통해 flow를 제어하기 위한 태그(반복문)

<c:forEach var = "age" begin = "10" end = "20" step = "2"> 
   <c:out value = "${age}" /> 
</c:forEach> 



<c:forTokens> : 구분자로 분리된 각각의 토큰을 처리할 때 사용

 

 

[URL 처리]
<c:import> : url을 이용해 다른 자원을 JSP 페이지에 추가

 

 

<c:redirect> : response.sendRedirect() 기능을 수행

<c:redirect url = "www.wave-m.tistory.com">
[<c:param name = "tistory" value ="김경민 티스토리">]
...
</c:redirect>

 

 

<c:url> : 요청 매개변수로부터 URL을 생성

<c:url var = "name" value = "www.wave-m.tistory.com" [scope="scope 속성 중 하나"]>
[<c:param name = "tistory" value ="김경민 티스토리">]
...
</c:url>

 

 

[기타 태그]
<c:catch> : 예외 처리에 사용


<c:out> : JspWriter에 내용을 처리한 후 출력

<c:out value ="김경민" default="이름" [escapeXml="boolean값"] /> 


-> escapeXml이 true이면 해당 value 그대로 화면에 출력
escapeXml이 false이면 value의 값에 해당하는 특수 문자로 변환 되어 화면에 출력


JSTL의 비교연산

 


empty : list, map 등의 객체의 값 유무

eq : ==와 같은 의미

ne : != 와 같은 의미

lt : <와 같은 의미

gt : >와 같은 의미

le : <= 와 같은 의미

ge : >= 와 같은 의미

 

 

 

728x90