๋ฐ์ํ
โจ1. JSTL ์ด๋
1. JSP ํ์ค๋ผ์ด๋ธ๋ฌ๋ฆฌ(JSP Standard Tag Library) ์ด๋ค.
2. JSP์์ (๋ฐ๋ณต๊ณผ ์กฐ๊ฑด, ๋ฐ์ดํ ๊ด๋ฆฌ ํฌ๋งท, XML ์กฐ์, ๋ฐ์ดํ๋ฒ ์ด์ค ์ก์ธ์ค)์ ๊ตฌํํ๋ ์ปค์คํ ํ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ์์ด๋ค.
3. ์๊ฐ, ๋ ์ง, ์ซ์์ ํฌ๋งท์ด๋ ๋ฌธ์์ด ๊ฐ๊ณต๋ฑ์ ์ฒ๋ฆฌ์์ ๋น์ฆ๋์ค๋ก์ง๊ณผ ํ๋ฆฌ์ ํ ์ด์ ๋ก์ง์ ๋ถ๋ฆฌํ ์ ์๊ฒ ํด์ค๋ค.
4. JSTL์ EL(Expression Language)๋ฅผ ์ฌ์ฉํ์ฌ ํํํ๋ค.
โจ2. JSTL ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๋ผ์ด๋ธ๋ฌ๋ฆฌ | ๊ธฐ๋ฅ | ์ ๋์ด |
์ฝ์ด | ์ผ๋ฐ ํ๋ก๊ทธ๋จ ์ธ์ด์์ ์ ๊ณตํ๋ ๋ณ์์ ์ธ, ์กฐ๊ฑด/์ ์ด/๋ฐ๋ณต๋ฌธ๋ฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. | c |
ํฌ๋งทํ | ์ซ์,๋ ์ง,์๊ฐ์ ํฌ๋งทํ ํ๋ ๊ธฐ๋ฅ๊ณผ ๊ตญ์ ํ, ๋ค๊ตญ์ด ์ง์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. | fmt |
ํจ์ | ๋ฌธ์์ด์ ์ฒ๋ฆฌํ๋ ํจ์๋ฅผ ์ ๊ณตํ๋ค. | fn |
๋ฐ์ดํฐ๋ฒ ์ด์ค | ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ/์์ /์ญ์ /์กฐํํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. | sql |
XML์ฒ๋ฆฌ | XML ๋ฌธ์๋ฅผ ์ฒ๋ฆฌํ ๋ ํ์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. | x |
โจ3. JSTL ๋ฌธ๋ฒ
1. Core
๋ช ๋ น์ด | ๋ด์ฉ | ์์ |
c:url | url ํธ์ถ |
<c:url value="test.jsp"/>
<c:url value="/test.jsp" context="/other"/>
|
c:out | ๊ฐ์ฒด๋ฅผ ํ๋ฉด์ ์ถ๋ ฅ |
<c:out value="${data}"/>
<c:out value="${data}" default="๊ฐ์์"/>
|
c:set | ์ ์ฅ์์ญ์ ๊ฐ์ฒด๋ฅผ ์ ์ฅ |
<!-- scope : page, request, session, application -->
<c:set scope="request" var="data" value="my_testValue" />
|
c:forEach | ๋ฐ๋ณต๋ฌธ ์ ์ด |
<c:forEach var="NOTICE" items="${NOTICE_LIS}" varStatus="status">
<c:out value="${NOTICE.COLUMN}"/>
</c:forEach>
<!-- 0123456 -->
<c:forEach var="S" begin="0" end="6">
<c:out value="${S}"/>
</c:forEach>
<!-- 036 -->
<c:forEach var="S" begin="0" end="6" step="3">
<c:out value="${S}"/>
</c:forEach>
|
c:remove | ์ ์ฅ์์ญ์์ ๊ฐ์ฒด๋ฅผ ์ญ์ | <c:remove scope="request" var="data" /> |
c:if | ์กฐ๊ฑด๋ฌธ ์ ์ด |
<c:if test="${empty data}">
data ๊ฐ์ด ๋น์ด์์ผ๋ฉด ์คํ
</c:if>
|
c:choose c:when c:otherwise |
๋ณตํฉ์กฐ๊ฑด๋ฌธ ์ ์ด |
<c:choose>
<c:when test="${data == 'A'}">data ๊ฐ์ด A์ด๋ฉด ์คํ</c:when>
<c:when test="${data == 'B'}">data ๊ฐ์ด B์ด๋ฉด ์คํ</c:when>
<c:when test="${data == 'C'}">data ๊ฐ์ด C์ด๋ฉด ์คํ</c:when>
<c:otherwise>data ๊ฐ์ด A, B, C๊ฐ์ด ์๋ ๊ฒฝ์ฐ ์คํ</c:otherwise>
</c:choose>
|
c:import! | ๋ค๋ฅธ jspํ๋ฉด์ ํ์ฌ ํ๋ฉด์ ์ถ๋ ฅ | <c:import! url="test.jsp"/> |
c:redirect | ๊ฒฝ๋ก ์ด๋ | <c:redirect url="์ฃผ์"/> |
2. ์ฐ์ฐ์
์ฐ์ฐ์ | ์์ | ๊ฒฐ๊ณผ๋ด์ฉ |
== eq |
${1 == 1} ${1 eq 1} |
true |
!= ne |
${1 != 1} ${1 ne 1} |
false |
< lt |
${1 < 10} ${1 lt 10} |
true |
> gt |
${1 > 10} ${1 gt 10} |
false |
<= le |
${1 <= 1} ${1 le 1} |
true |
>= ge |
${1>=0} ${1 ge 0} |
false |
&& and |
${true && false} ${true and false} |
false |
|| or |
${true || false} ${true or false} |
true |
! not |
${!true} ${not true} |
false |
empty | ${empty name} | name์ด null์ด๊ฑฐ๋ ๋น ๋ฌธ์์ด์ด๋ฉด true |
not empty | ${not empty name} | name์ด null๋ ์๋๊ณ ๋น ๋ฌธ์์ด๋ ์๋๋ฉด true |
โจ4. status ์ํ ์์ฑ ์ ์ด
< c:foreach items=”${RESULT}” var=”RESULT” varStatus=”status”>
${status.current}<br/> <!– ํ์ฌ ์์ดํ
–>
${status.index}<br/> <!– 0๋ถํฐ์ ์์ –>
${status.count}<br/> <!– 1๋ถํฐ์ ์์ –>
${status.first}<br/> <!– ํ์ฌ ๋ฃจํ๊ฐ ์ฒ์์ธ์ง ๋ฐํ –>
${status.last}<br/> <!– ํ์ฌ ๋ฃจํ๊ฐ ๋ง์ง๋ง์ธ์ง ๋ฐํ –>
${status.begin}<br/> <!– ์์๊ฐ –>
${status.end}<br/> <!– ๋๊ฐ –>
${status.step}<br/> <!– ์ฆ๊ฐ๊ฐ –>
< /c:forEach>
โจ5. JSTL for ๋ฌธ
1. ์ธ๋ฑ์ค๋ก ์ ๊ทผ
<c:forEach var="i" begin="1" end="5" step="1" varStatus="status">
๋ฒํธ : ${status.count}
์ด๋ฆ : ${item[i].name}
์ง์
: ${item[i].job}
๊ธ์ฌ : ${item[i].salary}
</c:forEach>
2. begin๊ณผ end๋ก ์ ๊ทผ
<c:forEach var="item" items="${list}" begin=0 end=5 step=1 varStatus="status">
๋ฒํธ : ${status.count}
์ด๋ฆ : ${item.name}
์ง์
: ${item.job}
๊ธ์ฌ : ${item.salary}
</c:forEach>
3. ์ผ๋ฐ์ ์ธ ์ ๊ทผ
<c:forEach var="item" items="${list}" varStatus="status">
๋ฒํธ : ${status.count}
์ด๋ฆ : ${item.name}
์ง์
: ${item.job}
๊ธ์ฌ : ${item.salary}
</c:forEach>
4. JSTL break๋ฌธ ๊ตฌํ
<c:set var="doneLoop" value="false" />
<c:forEach var="entity" items="${_STORE}" varStatus="status">
<c:if test="${status.count % 6 eq 1}">
<c:set var="doneLoop" value="false" />
</c:if>
<c:if test="${not doneLoop}">
<span><input type="checkbox" id="store_id" name="store_id" value="<c:out value="${entity.STORE_ID}"/>" <c:out value="${entity.USE_YN}"/>><c:out value="${entity.STORE_NM}"/></span>
<c:if test="${status.count % 6 eq 0}">
<c:set var="doneLoop" value="true"/>
</c:if>
</c:if>
</c:forEach>
300x250
'๊ฐ๋ฐ์ธ์ด > JSP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JSP/Servlet] ํ์ผ์ ๋ก๋ ๊ตฌํํ๊ธฐ +ํ์ด์ง (0) | 2022.06.13 |
---|---|
[JSP/Servlet] css, js ์ ์ฉ์ด ์๋จ ํด๊ฒฐํ๊ธฐ (1) | 2022.04.05 |
[JSP] ๊ฒ์๊ธ ์ค๋ฐ๊ฟํ๊ธฐ - ( c:out / <pre> ํ๊ทธ ) (0) | 2022.03.30 |
JSP - ์๋ธ๋ฆฟ ๊ธฐ์ด ( model 2 ๋ฐฉ์ ) STEP 2 (0) | 2022.03.28 |
JSP - ์๋ธ๋ฆฟ ๊ธฐ์ด ( model 2 ๋ฐฉ์ ) STEP 1 (0) | 2022.03.28 |