7.1 c:if, c: рдкреНрд░рддреНрдпреЗрдХрд╛рд╕рд╛рдареА
рдЬрд╛рд╡рд╛ рдХреЛрдбрдРрд╡рдЬреА рдЯреЕрдЧ рд╡рд╛рдкрд░реВрди рдХреЛрдб рдкреНрд░рддреНрдпреЗрдХрд╛рд▓рд╛ рдЖрд╡рдбрд▓рд╛, рдореНрд╣рдгреВрди рддреНрдпрд╛рдВрдиреА рд╡реНрдпрд╛рдкреНрддреА рд╡рд╛рдврд╡рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛. рдкрд░рдВрддреБ рдкреНрд░реЛрдЧреНрд░реЕрдорд┐рдВрдЧ рдХреЗрд╡рд│ рд╡рд╕реНрддреВ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреЗ рдЧреБрдгрдзрд░реНрдо рд╡рд╛рдЪрдгреНрдпрд╛рдкреБрд░рддреЗ рдорд░реНрдпрд╛рджрд┐рдд рдирд╛рд╣реА. рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдЪреНрдпрд╛ рдкрджреНрдзрддреА рдХреЙрд▓ рдХрд░рдгреЗ, рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрдгрд┐ рдЗрддрд░ рд╕реЗрд╡рд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдХрд╛рдп рдХрд░рд╛рдпрдЪрдВ?
рддреБрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд рдкреНрд░рддреНрдпреЗрдХ Java рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдЯреЕрдЧ рдореНрд╣рдгреВрди рдкреНрд░реЗрдЭреЗрдВрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╣реЛрддрд╛ if
, рдЕрд╕реЗрд▓ <if>
, рд╣реЛрддрд╛ for
, рдЕрд╕реЗрд▓, <for>
рдЖрдгрд┐ рдЕрд╕реЗрдЪ. рдареАрдХ рдЖрд╣реЗ, рдареАрдХ рдЖрд╣реЗ, рдлрдХреНрдд рдЧрдВрдордд рдХрд░рдд рдЖрд╣реЗ, рд╣реЗ рдЕрд╕реЗ рдирд╡реНрд╣рддреЗ. рдмрд░рдВ, рдЕрд╕реЗ рд╣реЛрдК рд╢рдХрдд рдирд╛рд╣реА рдХреА рд▓реЛрдХ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рддрд╕реЗ рдХрд░рд╛рдпрдЪреЗ рдард░рд╡рддрд╛рдд. рдкрдг рдирд╛рд╣реА, рдХрджрд╛рдЪрд┐рдд!
рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рдирд╛ рдХреЛрдбрдордзреНрдпреЗ рдХреЛрдгрддреЗрд╣реА рдЯреЕрдЧ рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рдЖрд╣реЗ. рддрддреНрд╡рддрдГ, рдХрд╛рд│рдЬреА рдХрд░рдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдХрд╛рд╣реАрд╣реА рдирд╛рд╣реА - рдЬреЗрдПрд╕рдкреА рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░рдпреЛрдЧреНрдп рдорд╛рдирдХ рдЖрд╣реЗ. рдкрдг рддреНрдпрд╛рдВрдиреА рдкреБрдвреЗ рдЬрд╛рдКрди рдЬреЗрдПрд╕рдкреА рд╕реНрдЯрдБрдбрд░реНрдб рдЯреЕрдЧ рд▓рд╛рдпрдмреНрд░рд░реА - рдЬреЗрдПрд╕рдЯреАрдПрд▓ рдЬрд╛рд░реА рдХреЗрд▓реА. рддреНрдпрд╛рд╕рд╣ рдкреГрд╖реНрда рдЕрд╕реЗ рджрд┐рд╕рддреЗ:
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %>
<html>
<head>
<title> JSTL Example</title>
</head>
<body>
<c:set var = "salary" scope = "session" value = "${2000*5}"/>
<c:if test = "${ salary > 2000}">
<p>My salary is: <c:out value = "${salary}"/><p>
</c:if>
</body>
</html>
рддреБрдордЪреНрдпрд╛ рднрд╡рд┐рд╖реНрдпрд╛рддреАрд▓ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрд╕рд╛ рдХреЛрдб рд╕рд╛рдкрдбрдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдЖрд╣реЗ, рддрд┐рдереЗ рдореА рдХрд╛рд╣реА рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рджреЗрдИрди.
7.2 JSTL рдХрд╛рд░реНрдпреЗ
JSTL рдлрдВрдХреНрд╢рдиреНрд╕ 5 рд╢реНрд░реЗрдгреАрдВрдордзреНрдпреЗ рдпреЗрддрд╛рдд:
- рдореБрдЦреНрдп рдЯреЕрдЧ;
- рд╕реНрд╡рд░реВрдкрди рдЯреЕрдЧ;
- рдПрд╕рдХреНрдпреВрдПрд▓ рдЯреЕрдЧ;
- XML рдЯреЕрдЧ;
- рдХреЙрд▓рд┐рдВрдЧ рдлрдВрдХреНрд╢рдиреНрд╕.
рдореА рддреНрдпрд╛ рд╕рд░реНрд╡рд╛рдВрдЪреА рдпрд╛рджреА рдХрд░рдгрд╛рд░ рдирд╛рд╣реА, рдкрд░рдВрддреБ рдореА рд╕рд░реНрд╡рд╛рдд рд▓реЛрдХрдкреНрд░рд┐рдп рдпрд╛рджреА рдХрд░реЗрди. рдЪрд▓рд╛ рдореБрдЦреНрдп рдЯреЕрдЧрд╕рд╣ рдкреНрд░рд╛рд░рдВрдн рдХрд░реВрдпрд╛:
рез | <c:out> |
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрднрд┐рд╡реНрдпрдХреНрддреА рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддреЗ - <%= %> рдЪреНрдпрд╛ рд╕рдорддреБрд▓реНрдп |
2 | <c:set> |
рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рд╡рд░ рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдЪрд╛ рдкрд░рд┐рдгрд╛рдо рд▓рд┐рд╣рд┐рддреЛ |
3 | <c:remove> |
рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рд╣рдЯрд╡рддреЗ |
4 | <c:catch> |
рдЕрдкрд╡рд╛рдж рдкрдХрдбрддреЛ |
рел | <c:if> |
if рдЪреЗ analogue |
6 | <c:choose> |
рдЕреЕрдирд╛рд▓реЙрдЧ рд╕реНрд╡рд┐рдЪ |
рен | <c:when> |
рдирд┐рд╡рдб рд╕рд╣ рдПрдХрддреНрд░ рд╡рд╛рдкрд░рд▓реЗ |
8 | <c:otherwise> |
рдирд┐рд╡рдб рд╕рд╣ рдПрдХрддреНрд░ рд╡рд╛рдкрд░рд▓реЗ |
реп | <c:import> |
рддреБрдореНрд╣рд╛рд▓рд╛ рдХреЛрдбрдордзреНрдпреЗ рд╕рд╛рдордЧреНрд░реА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдЕрдиреБрдорддреА рджреЗрддреЗ (рдЖрдпрд╛рдд рдирд┐рд░реНрджреЗрд╢рд╛рдВрдЪреНрдпрд╛ рд╕рдорддреБрд▓реНрдп) |
10 | <c:forEach> |
рдкреНрд░рддреНрдпреЗрдХ рд▓реВрдкрд╕рд╛рдареА |
рдЕрдХрд░рд╛ | <c:param> |
рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрдпрд╛рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкрд░реНрдпрд╛рдп рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдЕрдиреБрдорддреА рджреЗрддреЗ |
резреи | <c:redirect> |
рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рд╛ |
13 | <c:url> |
рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╣ URL рддрдпрд╛рд░ рдХрд░рддреЗ |
рдореА рдлрдХреНрдд рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрддреЛ рдЖрдгрд┐ рддреЗ рд╕рдВрдкрд╡рддреЛ. рддрддреНрд╡рддрдГ, рдХрд╛рд╣реА рдХреМрд╢рд▓реНрдпрд╛рдирдВрддрд░ рдЕрд╕рд╛ рдХреЛрдб рд╡рд╛рдЪрдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ. рдкрдг рдореА рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рдд рдирд╛рд╣реА.
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %>
<html>
<head>
<title> Each Tag Example&</title>
</head>
<body>
<c:forEach var = "i" begin = "1" end = "5">
Item <c:out value = "${i}"/><p>
</c:forEach>
</body>
</html>
рдпрд╛рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рд╛, рдЖрдореНрд╣реА рдЬрд╛рд╡рд╛ рдХреЛрдб рдЯреЕрдЧрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рд▓рд┐рд╣рд┐рддреЛ, рдЬреЗрдгреЗрдХрд░реБрди JSP рдкрд╛рд░реНрд╕рд░ рд╣реЗ рдЯреЕрдЧ рдЬрд╛рд╡рд╛ рдХреЛрдбрдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░реЗрд▓. рдпрд╛ рдЬрдЧрд╛рдд рдХрд╛рд╣реАрддрд░реА рдЪреВрдХ рдЭрд╛рд▓реА рдЖрд╣реЗ.
рддрд╕реЗ, рддреБрдореНрд╣реА рддреБрдордЪреА рд╕реНрд╡рддрдГрдЪреА рдЯреЕрдЧ рд▓рд╛рдпрдмреНрд░рд░реА рд▓рд┐рд╣реВ рд╢рдХрддрд╛. рдореА рдПрдХрджрд╛ рдПрдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯрдордзреНрдпреЗ рдХрд╛рдо рдХреЗрд▓реЗ рд╣реЛрддреЗ рдЬрд┐рдереЗ рддреЗ рд╣реЛрддреЗ. рдЫрд╛рди рдЕрдиреБрднрд╡. рд▓рд╛рдпрдмреНрд░рд░реАрдордзреНрдпреЗ рдХреЛрдгрддрд╛рд╣реА рдмрджрд▓ рдХреЗрд▓реНрдпрд╛рд╡рд░, рд╕рдВрдкреВрд░реНрдг jsp рддрд╛рдмрдбрддреЛрдм рдЦрдВрдбрд┐рдд рд╣реЛрддреЗ.
рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рдп рд╣рд╡реЗ рдЖрд╣реЗ? рдХрдВрдкрд╛рдЗрд▓рд░ рдЕрд╢рд╛ рдмрджрд▓рд╛рдВрдЪрд╛ рдорд╛рдЧреЛрд╡рд╛ рдШреЗрдд рдирд╛рд╣реА. рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓реА HTML рдкреГрд╖реНрдареЗ рдкрд╛рд╣рддрд╛рдирд╛ рддреЗ рдХреЗрд╡рд│ рджреГрд╢реНрдпрдорд╛рдирдкрдгреЗ рдЖрдврд│реВ рд╢рдХрддрд╛рдд. рдЖрдгрд┐ рдЬрд░ рд╣реА рдХрд╛рд╣реА рджреБрд░реНрдорд┐рд│ рдкрд░рд┐рд╕реНрдерд┐рддреА рдЕрд╕рддреАрд▓ рдЬреА рдХреНрд╖реБрд▓реНрд▓рдХ рдирд╕рд▓реЗрд▓реНрдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд рдЙрджреНрднрд╡рддрд╛рдд ... рджреЗрд╡ рдмреЕрдХрдПрдВрдб рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рд╕реНрдерд┐рд░ рдЯрд╛рдпрдкрд┐рдВрдЧрд▓рд╛ рдЖрд╢реАрд░реНрд╡рд╛рдж рджреЗрдИрд▓!