JSTL

2022. 12. 11. 13:07JSP

[JSTL(JSP Standard Tag Library)]
 JSP 파일의 복잡함의(HTML과 함께 사용) 단점을 보완하고자 만든 태그라이브러리를 의미한다.
 
톰캣에는 JSTL이 포함되어 있지않음. 따라서, 별도로 설치를 해야한다.

JSTL 다운 : http://jakarta.apache.org/ 접속 후 Taglibs 선택 download
C:\Tomcat 9.0\jakarta-taglibs-standard-1.1.2\lib 에 있는 jar파일두개를
복사해서
C:\Tomcat 9.0\lib
요 위 경로에 붙여넣기를 한다.


- JSTL 라이브러리
  . Core : 변수선언, 실행의 흐름 제어기능, 다른 JSP페이지로 제어를 이동하는 기능
  . formatting : 숫자, 날짜, 시간 형식을 지정할 때, 다국어 지원 기능
  . XML 처리 : XML 문서 처리할 때 필요한 기능
  . SQL : 데이터베이스내에 입력/ 수정/ 삭제/ 조회 하는 기능
  . 함수(function) : 문자열을 처리하는 함수를 제공
  
 prefix
   c(Core)
   fmt(formatting)
   x(xml)
   sql(sql)
   fn(function)

  사용예>
  Core라이브러리를 사용하기 위해서는 다음과 같이 페이지 지시자를 이용한다.
  
  <%@ talib uri=http://java.sun.com/jsp/jstl/core prefix="c" %>
  
  출력 태그 : <c:out>
  <c:out value="출력값" default="기본값" escapeXml="true or false"> escapeXml은 특수문자를 쓰겠다는 것 태그에 특수문자를 표시할 경우 설정할지의 여부지정
  
  변수 설정 태그 : <c:set>
  <c:set var="변수명" value="설정값" target="객체" property="값" scope="범위">
  
  변수를 제거하는 태그:<c:remove>
  <c:remove var="변수명" scope="범위">
  
  예외처리태그 : <c:catch>
  <c:catch var="변수명">
  
  제어문(if) 태그: <c:if>
  <c:if test="조건" var="조건 처리 변수명" scope="범위">
  
  제어문(switch) 태그 : <c:choose>
  <c:choose>
  <c:when test="조건">처리할 내용</c:when>
  <c:otherwise>처리할 내용 </c:otherwise>
  </c:choose>
  
  반복문(for)태그 : <c:forEach>
  <c:forEach items="객체명" begin="시작인덱스" end="끝 인덱스" step="증감식" var="변수명"
  varStatus="상태변수">
  
  페이지 이동태그 : <c:redirect>
  <c:redirect url="url">
  
  파라미터전달 태그 : <c:param>
  <c:param name="파라미터명" value="값">
  
  1.html 공지사항을쓰거나 볼 수 있는 페이지 메인페이지 html,jsp 굳이 데이타베이스에 
  저장하지 않고 파일에 저장해서 보관해도 된다. 많이 쓰지 않기 때문에  공지사항 읽어오기
  save, write 파일입출력 스트림 이용
  2.쓰기폼페이지
  3.파일저장
  4.공지보기 팝업창이용

 

jstlEx.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!-- 변수 선언 -->
<c:set var = "num1" value="10"/>
<c:set var = "num2" value="5" />
<c:set var = "res" value="${num1*num2 }" />

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
${num1 }와 ${num2 }의 곱은? ${res }<br/>
<c:out value="${res }" /><br/>

<c:catch var="exception">
	<%= 10/0 %>
</c:catch>
<br/>
<c:out value="${exception}"/>
<hr/>

<c:if test="${10+10==100 }">
	참
</c:if>

<c:if test="${10+10 != 100 }">
	거짓
</c:if><br/>

<c:forEach var="aa" begin="0" end="10" step ="2">
	<font size=${aa }> 안녕하세요!!! </font><br/>
	
</c:forEach>
</body>
</html>

'JSP' 카테고리의 다른 글

계산기  (0) 2022.12.13
공지 읽기, 쓰기  (0) 2022.12.11
확장자 패턴  (0) 2022.12.11
Command 패턴  (0) 2022.12.11
표현식  (0) 2022.12.10