<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:catch var="errMsg"> <!-- try / catch와 같은 역할 -->
<%= 10/0 %>
</c:catch>
<hr>
${errMsg}
</body>
</html>
오류가 발생할 수 있는 내용을 <c:catch > </c:catch>로 감싸주면 된다.
<c: catch 옆에 있는 var는 추후에 이 catch문을 어떻게 불러서 쓸 것인지 변수화 한 것이라
아래에서 ${errMsg}과 같이 JSTL로 호출하여 사용하는 것을 볼 수 있다.
수행결과를 보면 <hr> 아래에 오류의 내용 ( 연산익셉션 ) 이 뜨고 0을 나눌 수 없다라는 것이 표기된다.
if문 또한 사용이 가능한데
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:set var="member" value="ADMIN" /> <!-- 멤버 계정에 어드민으로 접속 -->
<c:if test="${member == 'ADMIN'}">
관리자모드입니다.
</c:if>
<c:if test="${member != 'ADMIN'}"> <!-- else가 없음 -->
일반모드입니다.
</c:if>
</body>
</html>
set을 사용해 member에 "ADMIN" 의 밸류값을 주고 각각의 출력물이 다르게 설정한 것이다.
저 자리에 ADMIN이 아닌 다른 값이라면 일반모드라고 뜰 것이다.
'개발자노트 > 웹' 카테고리의 다른 글
HTML - JSP - 커스텀태그에서 for문 (for each)사용 (리스너 클래스 사용) (0) | 2022.08.16 |
---|---|
HTML - JSP - 커스텀태그 choose / when / otherwise / 삼항연산자 (0) | 2022.08.16 |
HTML - JSP - [JSTL] 기본개념 (0) | 2022.08.16 |
[리스너 클래스] + 커스텀태그 set / set target (0) | 2022.08.16 |
[ 리스너 클래스 ] (0) | 2022.08.16 |