본문 바로가기
CLASS/SPRING,JSTL

#6-1 / JSTL 문법 - 1

by hingu 2024. 7. 15.

👀 JSTL

  • JSTL은 단독으로 사용하는 경우는 없음 => do에서 호출받아서 사용 多 (Model, ModelandView)
  • 반복문 외에는 태그와 태그 사이에 값을 넣지 X - <태그> or <태그 /> 방식으로 사용
  • 반복문은  <태그></태그> 

 

- 자주 사용하는 JSTL 엔진

<!-- jstl 엔진 -->
<%@ taglib prefix="cr" uri="http://java.sun.com/jsp/jstl/core" %>
<!-- jstl 각종함수 -->
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<!-- jstl database 관련 -->
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>

 


 out
- 값출력 / out.print와 같은 형태의 출력 태그 => 받아서 처리 X , 걍 value값을 단순 출력만 하는 기능 (잘사용x)
<cr:out value="우왕"></cr:out> //우왕 출력



 set

- setAttribute와 동일현 한텨로 태그 값을 받아서 변수로 처리
- jsp에 있는 값을 JSTL로 변환시 무조건 set태그 사용!

<%
String user = "에이핑크";
%>

<cr:set var="a" value="에이핑크"></cr:set> //에이핑크 출력
${a}<br>

<!-- jsp에 있는 값을 JSTL로 변환시 무조건 set태그 사용! -->
<cr:set var="b" value="<%=user%>"/> //에이핑크 출력
${b}<br>



 scope="session" 
 - session을 활성화시 session 생성 또는 로드도 활용할 수 있음
-  위에서 만들어서 접근도 가능
  (잘못 사용시 위에서 만든 세션과 충돌 가능.. 잘 사용 x)

<%
String user = "홍길동";
HttpSession hs = request.getSession();
hs.setAttribute("ssdata", "1588-1004");
%>


<!-- scope="session" :  세션 만들어줌 (잘못 사용시 위에서 만든 세션과 충돌 가능.. 잘 사용 x) -->
<cr:set var="c" value="jstl문법" scope="session" />
${c}<br>


=> 다른 jsp파일 만들어서 

<cr:set var="c" value="${ssdata}" scope="session" /><br>

시 session 가져와짐

- value="" 로 value값을 비워서 session값 삭제 또는 초기화로 활용 가능!
 (* 세션 초기화 시 var 속성에 동일한 session명을 입력!) 

<!-- 
기존 session을 삭제 또는 초기화 하고싶을 경우 다음과 같이 사용 가능
* 세션 초기화 시 var 속성에 동일한 session명을 입력! 
 -->
세션 초기화 전 data : ${ssdata}<br>
<cr:set var="ssdata" value="" scope="session" />
세션 초기화 후 data : ${ssdata}<br>



scope="request"

- value값을 var 변수에 값을 저장하는 형태