JSTL은 VIEW 단에서의 흐름제어를 처리한다 라고 하였다. 이렇게라도 기억하고싶어 계속 적고 있다.
JSTL에서 if 문은 <c:if> 태그로 정의한다. 속성은 test이며 해당 속성에 조건식을 값으로 넣는다.
-
<c:if test="">.......</c:if> 식이다. 조건에 맞는다면 몸통 안의 내용이 실행된다.
-
만약 거짓으로 흐름을 제어하고 싶다면 test="${! 조건}" 으로 제어한다.
-
즉 같은 조건식의 흐름에서 test="${조건식} 이라면 true, test="${! 조건식}"이라면 false이다.
<body>
<%
int i = 3;
if(i > 0){
%>
<p>i는 0보다 크다</p>
<%
}else{
%>
<p>u는 0보다 크지 않다.</p>
<%
}
%>
<hr />
<%--
<c:if> 조건에 만족할때만 태그의 몸통(body)을 출력한다.
test 속성은 조건에 해당한다.
--%>
<c:if test="${empty member}">
조건 만족함
</c:if>
<c:if test="${not empty member }">
조건에 만족하지 않음
</c:if>
</body>
form 을 이용한 예제이다. <c:if> 태그에 test 속성말고도 var 속성을 주어 조건결과를 변수화 할 수도 있다는 점을 기억하자.
<body>
<form action="" method="post">
이름 : <input type="text" name="name" id="" /> <br />
나이: <input type="text" name="age" id="" /> <br />
<input type="submit" value="확인" />
</form>
<c:if test="${empty param.name}">
<p>이름을 입력하세요</p>
</c:if>
<c:if test="${empty param.age}">
<p>나이를 입력하세요</p>
</c:if>
<c:if test="${param.age > 18}">
<p>투표가능 합니다.</p>
</c:if>
<c:if test="${param.age <= 18}" var="test">
<p>투표 불가능 합니다.</p>
</c:if>
<c:if test="${test}">
<p>투표 불가능 again</p>
</c:if>
<%= pageContext.getAttribute("test") %>
</body>
'EL' 카테고리의 다른 글
17.<c:set>태그를 이용한 값 변경 target, value, property (0) | 2020.07.15 |
---|---|
16.<c:set> 태그와 <c:remove> 태그와 속성 (0) | 2020.07.15 |
14. choose-when-otherwise (0) | 2020.07.15 |
13.function 사용 예제 (0) | 2020.07.15 |
12.functions (0) | 2020.07.15 |