본문 바로가기

일경험

[국민취업지원제도 일경험프로그램 22일차] JSTL이란 무엇인가?

반응형

22일 차 특이사항

1. SQL 복습 

- from 절에 사용하는 서브쿼리를 인라인뷰(inlineview)라고 한다. 

- 인라인뷰 sql 명령문이 실행될 경우에만 임시적으로 생성된다.

- 인라인뷰는 동적인 뷰라고 부른다. (정적인 뷰 X)

- 메인쿼리에서 서브쿼리의 결과 칼럼을 쓸 수 없다. 

- 서브쿼리는 메인쿼리의 컬럼을 모두 사용할 수 있다. 

 

2. 의문점 

@RequestMapping("/list") 여기서 슬래쉬를 꼭 붙여야 하는지? "list"와 "/list"는 같은 뜻인가? 

찾아보니 상대경로와 절대경로의 차이다. /list라는 경로가 하나만 있다면 list에 슬래쉬를 붙여주지 않아도 상관없다. 더 세세하게 경로가 있는 경우라면 슬래쉬를 써주자. 

 

3. 게시판 만들기 개념들을 총정리해보자. 

 

JSTL 교육 내용

1. <c:set var = "aa" value="11111"></c:set> - 변수 "aa"에 값"11111"을 부여한다. 

 

3. <${fn:length() }> 게시판 제목 글자수 제한을 걸 수 있다. 

 

4. fmt는 포맷하는 기능이다. 날짜 형식으로 변경한다. 타임존 설정하기 

 

5. <form: > 태그를 쪼개서 모아놓음. input, checkbox, hidden, radiobutton 다 분리되어 있다. 

path="aa"는 name, id와 같다. name과 id 차이점? script, css를 사용할 때 id를 쓴다. name은 데이터를 보내줄 때 사용한다. name이 있어야 value 값을 넘겨줄 수 있다. 

 

6. form은 값을 전달할 수 있는 태그들만 속해있다. 자주 사용하지는 않지만 알아두면 좋다. 

 

7. 컨트롤 스페이스를 눌러서 나오는 태그들을 써보자. 

 

JSTL이란 무엇인가? 

 

JSTL이란??

JSP 표준 태그 라이브러리의 약어.  jsp에서 유용한 태그들의 집합이다. 

 

사용방법 : 아래 코드를 JSP 상단에 붙여넣기 하고, 태그를 사용할 수 있다. 

<%@ taglib prefix="c" uri = "http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri = "http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="form" uri = "http://www.springframework.org/tags/form" %>

 

< JSTL 태그 종류  사용 예시 > 

 

(1) c:set , c:out 

변수의 값을 설정하고 출력해준다. ${}로 변수를 출력할 수도 있다. 

<c:set var = "AA" value="AA 변수에 들어있는 값"></c:set>
<c:set var = "BB" value="BB 변수에 들어있는 값"></c:set>

1. <c:out value="${AA}"></c:out></br>

2. ${AA }</br>
3. ${BB }</br>

 

2) c:forEach 

for문과 동일한 역할을 한다.

begin : 시작 값, end : 마지막 값, step : 증가 단위

다음 소스는 i라는 변수를 사용하여 1부터 10까지 1씩 증가하며 반복문을 수행

<h1>요일별 번호붙이기</h1>

<c:set var="weekday" value="1" />

<c:forEach var="i" begin="1" end="10" step="1">
<c:set var="day" value="${(i+weekday-2)%7}"/>
요일 번호: ${day} <br/>	
</c:forEach>

 

(4) c:if 

조건문을 수행한다. if와 동일한 역할을 한다.

<c:set var="ClientAge" value="25" />

<c:if test="${ClientAge < 18}">
<p>미성년자입니다.</p>
</c:if>

<c:if test="${ClientAge >= 18}">
<p>성인입니다.</p>
</c:if>

 

(5) c:choose / c:when

if, else 구문 역할을 한다.

<c:set var="Member" value="false" />

<c:choose>

<c:when test="${Member}">
<p>회원으로 로그인하셨습니다.</p>
</c:when>

<c:otherwise>
<p>회원으로 로그인하지 않았습니다.</p>
</c:otherwise>

</c:choose>

 

(6) fmt:formatNumber 

숫자를 형식에 맞춰 출력한다. 금액, 날짜, 요일 등을 출력할 때 사용한다. 

<c:set var="amount" value="1234567" />

<p>원래 숫자: ${amount}</p>

<fmt:formatNumber value="${amount}" pattern="###,###"/>

 

(7) fmt:formatDate 

날짜형식 변환할 때 사용한다. 

<c:set var="now" value="<%=new java.util.Date()%>"></c:set>

	현재날짜와 시간 : ${now }
	
	<br>
	<fmt:formatDate value="${now }" />
	<br> default :
	<fmt:formatDate value="${now }" type="both" dateStyle="default" timeStyle="default" />
	<br> short :
	<fmt:formatDate value="${now }" type="both" dateStyle="short" timeStyle="short" />
	<br> medium :
	<fmt:formatDate value="${now }" type="both" dateStyle="medium" timeStyle="medium" />
	<br> long :
	<fmt:formatDate value="${now }" type="both" dateStyle="long" timeStyle="long" />
	<br> full :
	<fmt:formatDate value="${now }" type="both" dateStyle="full" timeStyle="full" />
	<br> 패턴 적용 날짜 :
	<fmt:formatDate value="${now }" pattern="yyyy년MM월dd일 hh시mm분ss초" />
	<br>

 

 

반응형