** ๐์กฐ๊ฑด + ๋ฐ๋ณต ์กฐํฉ ์ค์ ์์ ์์ ์ ๋ณต**
๊ฒ์ํ ๋ชฉ๋ก, ํ์ด์ง, ํํฐ๋ง, ๊ถํ ๋ถ๊ธฐ ๋ฑ ์ค์ JSP ํ๋ฉด ๊ตฌํ
โ ๋ชฉ์ฐจ
- ์กฐ๊ฑด + ๋ฐ๋ณต ์กฐํฉ์ด ํ์ํ ์ด์
- ๊ฒ์ํ ๋ชฉ๋ก ์ถ๋ ฅ ์์
- ๋ก๊ทธ์ธ ์ํ ๋ถ๊ธฐ ์ถ๋ ฅ ์์
- ๊ด๋ฆฌ์/์ฌ์ฉ์ ์กฐ๊ฑด ๋ถ๊ธฐ + ๋ฐ๋ณต
- ํ์ด์ง ๋ฒํธ ๋ฐ๋ณต ์ถ๋ ฅ
- ๊ธฐ์ ๋ฉด์ ๋๋น ์ ๋ฆฌ
- ์์ฝ ๋ฐ ๋ง๋ฌด๋ฆฌ
1๏ธโฃ ์กฐ๊ฑด + ๋ฐ๋ณต ์กฐํฉ์ด ํ์ํ ์ด์
๐ ์ค๋ฌด์์๋ ๋จ์ ์ถ๋ ฅ์ด ์๋๋ผ ๋ฐ๋ณตํ๋ฉด์ ์กฐ๊ฑด์ ๋ฐ๋ผ ํ์ ๋ฐฉ์์ด ๋ฌ๋ผ์ง๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
์์ ์ํฉ | ์ค๋ช |
---|---|
๊ฒ์๊ธ ๋ชฉ๋ก ์ค ๊ณต์ง์ฌํญ ๊ฐ์กฐ | ๋ฐ๋ณต ์ค ํน์ ์กฐ๊ฑด์ ๋ฐ๋ก ์ฒ๋ฆฌ |
๋ก๊ทธ์ธ ์ฌ์ฉ์์ ๋น๋ก๊ทธ์ธ ์ฌ์ฉ์ ๋ถ๊ธฐ | ๋ฐ๋ณต + ์กฐ๊ฑด ์กฐํฉ |
๊ด๋ฆฌ์๋ง ์ญ์ ๋ฒํผ ๋ ธ์ถ | ๊ถํ ๊ธฐ๋ฐ ์กฐ๊ฑด ์ฒ๋ฆฌ |
ํ์ด์ง ๋ฒํธ ์ถ๋ ฅ | ์ซ์ ๋ฐ๋ณต + ํ์ฌ ํ์ด์ง ์กฐ๊ฑด ๊ฐ์กฐ |
2๏ธโฃ ๐ ๊ฒ์ํ ๋ชฉ๋ก ์ถ๋ ฅ ์์
<table>
<tr><th>No</th><th>์ ๋ชฉ</th><th>์์ฑ์</th><th>์์ฑ์ผ</th></tr>
<c:forEach var="post" items="${postList}" varStatus="vs">
<tr>
<td>${vs.count}</td>
<td>
<c:choose>
<c:when test="${post.notice}">
<strong>[๊ณต์ง] ${post.title}</strong>
</c:when>
<c:otherwise>
${post.title}
</c:otherwise>
</c:choose>
</td>
<td>${post.writer}</td>
<td>${post.date}</td>
</tr>
</c:forEach>
</table>
๐ง ํต์ฌ: forEach
๋ก ๋ฐ๋ณตํ๋ฉด์ c:choose
๋ก ์กฐ๊ฑด ์ฒ๋ฆฌ
๊ณต์ง๊ธ์ธ ๊ฒฝ์ฐ์๋ง ๊ฐ์กฐ ์ฒ๋ฆฌ (post.notice == true)
3๏ธโฃ ๐ ๋ก๊ทธ์ธ ์ํ ๋ถ๊ธฐ ์ถ๋ ฅ ์์
<c:if test="${empty sessionScope.user}">
<p>๋ก๊ทธ์ธ ํ ์ด์ฉํด์ฃผ์ธ์.</p>
</c:if>
<c:if test="${not empty sessionScope.user}">
<p>ํ์ํฉ๋๋ค, ${sessionScope.user.name}๋!</p>
</c:if>
4๏ธโฃ ๐ ๊ด๋ฆฌ์/์ฌ์ฉ์ ์กฐ๊ฑด ๋ถ๊ธฐ + ๋ฐ๋ณต
<c:forEach var="member" items="${memberList}">
<p>
์ด๋ฆ: ${member.name}
<c:if test="${member.role eq 'admin'}">
๐ (๊ด๋ฆฌ์)
</c:if>
</p>
</c:forEach>
๐ ์กฐ๊ฑด๋ฌธ ์์์ ์ฌ์ฉ์ ๊ถํ ๋ถ๊ธฐํ์ฌ ํ๊ทธ๋ ์์ด์ฝ ๋ฑ์ ๋ณด์ฌ์ค ์ ์์
5๏ธโฃ ๐ข ํ์ด์ง ๋ฒํธ ๋ฐ๋ณต + ํ์ฌ ํ์ด์ง ๊ฐ์กฐ
<c:forEach var="i" begin="1" end="${totalPages}">
<c:choose>
<c:when test="${i == currentPage}">
<strong>[${i}]</strong>
</c:when>
<c:otherwise>
<a href="list.jsp?page=${i}">${i}</a>
</c:otherwise>
</c:choose>
</c:forEach>
๐ ํต์ฌ:
- ๋ฐ๋ณต์ผ๋ก ํ์ด์ง ๋ฒํธ ์ถ๋ ฅ
- ํ์ฌ ํ์ด์ง๋
<strong>
๊ฐ์กฐ - ๋๋จธ์ง๋ ๋งํฌ ์ฒ๋ฆฌ
6๏ธโฃ ๊ธฐ์ ๋ฉด์ ๋๋น ํต์ฌ ์์ฝ
์ง๋ฌธ | ๋ชจ๋ฒ ๋ต๋ณ |
---|---|
โ JSTL์์ ์กฐ๊ฑด๊ณผ ๋ฐ๋ณต์ ์กฐํฉํ๋ ์ด์ ๋? | ์ค๋ฌด์์๋ ๋ฐ๋ณต๋๋ ํญ๋ชฉ๋ง๋ค ์ํฉ์ ๋ฐ๋ผ ์ถ๋ ฅ ๋ฐฉ์์ด ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ <c:forEach> ์ <c:choose> ๋ฅผ ํจ๊ป ์ฌ์ฉํฉ๋๋ค. |
โ ๊ด๋ฆฌ์์๊ฒ๋ง ํน์ ์์๋ฅผ ๋ณด์ฌ์ฃผ๋ ค๋ฉด? | <c:if> ๋ฅผ ๋ฐ๋ณต๋ฌธ ์์์ ์ฌ์ฉํ์ฌ role == 'admin' ์กฐ๊ฑด์ผ๋ก ๋ถ๊ธฐํฉ๋๋ค. |
โ ํ์ด์ง ์ฒ๋ฆฌ์์ ํ์ฌ ํ์ด์ง๋ฅผ ๊ฐ์กฐํ๋ ๋ฐฉ๋ฒ์? | <c:forEach> + <c:choose> ์กฐํฉ์ผ๋ก ํ์ฌ ํ์ด์ง๋ <strong> ์ผ๋ก ์ถ๋ ฅํ๊ณ , ๋๋จธ์ง๋ ๋งํฌ๋ก ์ถ๋ ฅํฉ๋๋ค. |
7๏ธโฃ ์์ฝ ๋ฐ ๋ง๋ฌด๋ฆฌ
๐ ์ค๋ฌด JSP ํ๋ฉด์์ ์กฐ๊ฑด + ๋ฐ๋ณต์ ๊ฑฐ์ ๋ชจ๋ ํ๋ฉด์ ์ฐ์ด๋ ํ์ ํจํด์ ๋๋ค.
ํนํ ๊ฒ์ํ, ๋ชฉ๋ก, ๊ด๋ฆฌ์ ํ์ด์ง, ํ์ด์ง, ๋ก๊ทธ์ธ ๋ถ๊ธฐ ๋ฑ์์ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
<c:forEach>
๋ก ํญ๋ชฉ์ ๋ฐ๋ณต<c:if>
,<c:choose>
๋ก ์ํฉ๋ณ ์กฐ๊ฑด ์ฒ๋ฆฌ- EL ํํ์์ผ๋ก ์ ์ฐํ ์กฐ๊ฑด ๋ก์ง ์ ์ฉ ๊ฐ๋ฅ