1. JSTL( JSP Standard Tag Library)
▷ JSP 페이지에서 스크립트 요소로 인한 코드의 복잡함을 해결하기 위한 일종의 사용자 정의 태그의 표준
▷ JSP 페이지의 로직을 담당하는 부분인 if, for, while, 데이터베이스 처리 등과 관련 된 코드를 JSTL로 대치하여
코드를 깔끔하게 하고 가독성을 좋게 하는 것
▷ JSP 내장 객체에 쉽게 접근할 수 있을 뿐 아니라 파라미터, 헤더, 쿠키 등의 복잡한 코드를 사용하지 않고 쉽게
직관적으로 사용
▷ 객체 간의 비교를 equals( ) 메소드로 처리하는 대신 ==와 같은 간단한 연산자로 구현이 가능
2. JSTL이 제공하는 태그의 종류
◎ JSTL이 제공하는 태그 사용
▷ JSP 페이지에 <%@ taglib…%> 디렉티브 태그를 사용
▶ prefix 속성은 uri 속성에 명시된 값 대신 해당 페이지에서 prefix 속성 값으로 명시된 값을 사용하겠다는 것을 의미
▷ JSTL 라이브러리인 jstl.jar 파일이 필요
◎ Core 태그
▷ Core 태그의 종류
◎ 웹 브라우저 헤더를 변수에 설정하고 설정한 변수 삭제하기 예제
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JSTL</title> </head> <body> browser 변수 값 설정 <c:set var="browser" value="${header['User-Agent']}" /> <br> <c:out value="${browser}" /> <p>browser 변수 값 제거 후 <c:remove var="browser" /> <c:out value="${browser}" /> </body> </html>
결과 화면은 아래와 같고 변수 값을 설정하고 제거할 수 있습니다.
◎ 숫자가 짝수 또는 홀수인지 판단하기 예제
1. core02.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JSTL</title> </head> <body> <form action="core02_process.jsp" method="post"> <p> 숫자 : <input type="text" name="number"> <p> <input type="submit" value="전송"> </form> </body> </html>
2. core02_process.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JSTL</title> </head> <body> <% String number = request.getParameter("number"); %> <c:set var="number" value="<%=number %>" /> <c:choose> <c:when test="${number%2==0}"> <c:out value="${number}" />은 짝수입니다. </c:when> <c:when test="${number%2==1}"> <c:out value="${number}" />은 홀수입니다. </c:when> <c:otherwise> 숫자가 아닙니다. </c:otherwise> </c:choose> </body> </html>
'12은 짝수입니다.'라는 결과가 출력됩니다.
◎ 구구단 출력하기 예제
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JSTL</title> </head> <body> <h3>구구단</h3> <table> <c:forEach var="i" begin="1" end="9"> <tr> <c:forEach var="j" begin="1" end="9"> <td width=100>${ i }*${ j } = ${ i * j }</td> </c:forEach> </tr> </c:forEach> </table> </body> </html>
Core 태그를 이용해서 스크립틀릿 태그를 별도로 사용하지 않고 조건문들을 사용할 수 있었습니다!!
코드를 간략하게 하기 위해서 사용한다고 하는데요 어떤 기업에서 사용할지 궁금하네요ㅎㅎ
그래도 알아두면 어딜가든 이해하기 쉽겠어요!!
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~
'BackEnd > JSP' 카테고리의 다른 글
[JSP 웹 프로그래밍] 웹 MVC (0) | 2023.03.12 |
---|---|
[JSP 웹 프로그래밍] JSP 표준 태그 라이브러리 2 (sql 태그, function 태그) (0) | 2023.03.12 |
[JSP 웹 프로그래밍] JDBC 데이터베이스와 JSP 연동 3 (쿼리문 실행 결과 값 가져오기) (1) | 2023.03.12 |
[JSP 웹 프로그래밍] JDBC 데이터베이스와 JSP 연동 2 (데이터베이스 쿼리 실행) (1) | 2023.03.12 |
[JSP 웹 프로그래밍] JDBC 데이터베이스와 JSP 연동 1 (JDBC 드라이버 로딩, DBMS 접속) (1) | 2023.03.12 |