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>
'일경험' 카테고리의 다른 글
[국민취업지원제도 일경험프로그램 24일차] spring 게시판 이미지 업로드 기능, multipart, UUID, insert (0) | 2023.09.04 |
---|---|
[국민취업지원제도 일경험프로그램 23일차] 게시판 이미지 업로드 시작 (0) | 2023.09.01 |
[국민취업지원제도 일경험프로그램 21일차] 게시판 검색, 페이징 비동기 방식 (0) | 2023.08.30 |
[국민취업지원제도 일경험프로그램 20일차] ajax 비동기 방식 (0) | 2023.08.29 |
[국민취업지원제도 일경험프로그램 19일차] 동기 방식과 비동기 방식의 차이점 (0) | 2023.08.28 |