jsp023

제로·2022년 12월 18일
0

JSP

목록 보기
22/30

jstl의 조건문

  1. if - 조건이 true일 때 몸체 내용 실행
    • <c:if test = "조건"></c:if>
  2. choose when - otherwise
	<c:choose>
    	<c:when text="${조건1}"> 처리내용1 </c:when>    
        <c:when text="${조건2}"> 처리내용2 </c:when> 
        // 조건1에 해당하는 내용 제외
        <c:otherwise> 기타처리내용 </c:otherwise> 
        // 조건1,2에 해당하는 내용 제외

el의 empty

  1. null, ""(공백)을 다 포함하는 내용을 처리할 때 활용된다
  2. not empty : null이 아니고, ""(공백)도 아닐 때
<form>
영어:<input type="text" name="eng">
국어:<input type="text" name="kor">
수학:<input type="text" name="math">
<input type="submit">
</form>

// 전송받은 데이터가 null이 아니고 공백이 아닐 때
<c:if test="${not empty param.eng && not empty param.kor && not empty param.math }">
<c:set var="tot" value= "${param.eng+param.kor+param.math }"></c:set>
<c:set var="avg" value= "${tot/3 }"></c:set>
<h2>총합 : ${tot }</h2>
</c:if>

<h3>평가등급:
<c:choose>
	<c:when test="${avg>=90 }" >A등급</c:when>
	<c:when test="${avg>=80 }" >B등급</c:when>
	<c:when test="${avg>=70 }" >C등급</c:when>
	<c:when test="${avg>=60 }" >D등급</c:when>
	<c:when test="${avg>=0 }" >F등급</c:when>
	<c:otherwise>등급은 점수가(0~100)일때 가능합니다</c:otherwise>
</c:choose>
</h3>

주의) jstl은 모두가 전역변수 개념 : 블럭내부에 선언한 데이터도 전역변수이기에 외부에서 사용 가능하다

jstl 반복문

  1. forEach
    • 특정 횟수 반복
      <c:forEach var="cnt" begin="시작번호" end="마지막번호" step="증감단위">
    • 집합 / 콜렉션 데이터 사용
      <c:forEach var="변수" items="배열/객체형배열" varStatus="sts>
      ${단위데이터변수}
      ${참조명.property} ex) ${emp.empno}
      ${sts.index} 0부터 카운트
      ${sts.count} 1부터 카운트
      ${sts.first} 첫번째 데이터일 때, boolean true
      ${sts.last} 마지막 데이터일 때, boolean true
<%
List<String> flist = Arrays.asList(new String[]{"사과","바나나","포도","레몬","수박","블루베리","딸기","복숭아","키위"});
request.setAttribute("frut", flist);
%>

<table><col width="33%"><col width="33%">
<c:forEach var ="f" items="${frut }" varStatus="sts"> // 객체형 배열 frut를 가져옴
<c:if test="${sts.index%3==0 }"><tr></c:if>
<td>${f }</td>
<c:if test="${sts.index%3==2 }"></tr></c:if>
</c:forEach>
</table>

profile
아자아자 화이팅

0개의 댓글