JSTL, try catch 처리를 위한 catch 태그 예제
글. 수알치 오상문
JSTL은 자바 try catch 문법을 대체하는 catch 태그(<c:catch>)를 제공한다. <c:catch>는 페이지에서 발생하는 에러를 처리한다. <c:catch>에서 발생한 특정 에러는 pageScope 데이터로 저장되며 페이지를 벗어나면 삭제된다.
다음처럼 <c:catch>태그에 에러를 담을 변수를 선언하고 내부에 코드를 작성한다.
<c:catch var="myException">
<%
int i = (int)Math.random(2); // 0~1
if (i == 0)
throw new Exception();
%>
</c:catch>
에러 발생 여부에 따라서 분기 처리하는 부분은 다음처럼 작성할 수 있다.
<c:choose>
<c:when test="${!empty myException}">
Error!!!
</c:when>
<c:otherwise>
OK!!!
</c:otherwise>
</c:choose>
또는 다음처럼 에러가 발생한 경우에 처리하는 것도 가능하다.
(divide by zero 에러 발생 예제)
<c:catch var="myExcept">
<% int result = 100 / 0; %>
결과 : <%=result %>
</c:catch>
<c:if test="${myExcept != null }" >
에러 발생 : ${myExcept.message }
</c:if>
[예제] JSTL catch
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>JSTL catch</title>
</head>
<body>
<c:catch var="myExcept">
<% int result = 100 / 0; %>
계산 결과 : <%=result %>
</c:catch>
<c:if test="${myExcept != null }" >
에러 발생 : ${myExcept.message }
</c:if>
</body>
</html>
'JAVA Servlet,JSP' 카테고리의 다른 글
JSP - 일정관리프로그램 ( 메인 - 달력 ) (1) | 2024.12.28 |
---|---|
JSTL(Java Standard Tag Library) 기본 (0) | 2022.06.05 |
JSP, EL 스코프 영역 접근 예제 및 생략 시 우선순위 (0) | 2022.06.04 |
JSP, EL(Expression Language) 연산자 (0) | 2022.06.04 |
JSP, EL(Expression Language) 표기 (0) | 2022.06.04 |