EL

15.<c:if> 와 test 속성

Jungsoomin :) 2020. 7. 15. 21:24

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