반응형

JSP 스크립트의 문제점을 보완 가독성을 향상시키고 스크립트에서 자바의 사용을 최소화 할 수 있습니다.

 

먼저 jar파일을 다운로드후 프로젝트 라이브러리에 추가시켜 사용합니다.

 

http://tomcat.apache.org/

 

Apache Tomcat® - Welcome!

The Apache Tomcat® software is an open source implementation of the Jakarta Servlet, Jakarta Server Pages, Jakarta Expression Language, Jakarta WebSocket, Jakarta Annotations and Jakarta Authentication specifications. These specifications are part of the

tomcat.apache.org

 

 

 

JSTL도 크게 5개로 나뉩니다. 우리는 주로 기본적인 c에 대해서 알아보도록 하겠습니다.

필요한 게 있으시면 찾아서 쓰시면 됩니다.

 

 

코어 : 자바 변수 지원 , 흐름 제어 , URL처리

XML : xml 처리 , xml 흐름제어

국제화 : 국제화처리, 메시지 관리

SQL : 데이터베이스 접근 및 처리

함수(function) : 문자열 처리, 컬렉션 처리

 

 

라이브러리 접두어 URI
코어(Core) c http://java.sun.com/jsp/jstl/core
XML x http://java.sun.com/jsp/jstl/xml
국제화 fmt http://java.sun.com/jsp/jstl/fmt
SQL sql http://java.sun.com/jsp/jstl/sql
함수(functions) fn http://java.sun.com/jsp/jstl/functions

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix = "c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix = "x" uri="http://java.sun.com/jsp/jstl/xml"%>
<%@ taglib prefix = "fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix = "sql" uri="http://java.sun.com/jsp/jstl/sql"%>
<%@ taglib prefix = "fn" uri="http://java.sun.com/jsp/jstl/functions"%>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<c:set var="jum" value="99"/> <!-- 변수를 선언합니다. -->
	<c:remove var="jum"/> <!-- 변수를 지웁니다. -->
	
	<c:set var="jum" value="0"/>
	<c:if test="${jum <= 100}">
		jum = ${jum}<br>
	</c:if>
	
	<c:catch var="errmsg">
		<%= 99 / 0 %>
	</c:catch>
	<c:out value="${errmsg}"/><br>	

	<c:choose>
		<c:when test="${jum>=90}">
			<c:set var="grd" value="A"/>
			<c:out value="${grd}"/><br>
		</c:when>
		<c:when test="${jum>=80}">
			<c:set var="grd" value="B"/>
			<c:out value="${grd}"/><br>
		</c:when>
		<c:otherwise>
			<c:set var="grd" value="씨뿌리기!!"/>
			<c:out value="${grd}"/><br>
		</c:otherwise>
	</c:choose>
	
	<c:forEach var="i" begin="1" end="10" step="${i = i + 1}">
		<c:set var="sum" value="${sum = sum + i}"/>
	</c:forEach>
	
	<c:forTokens var="msg" items="JSTL program test!" delims=" ">
		${msg} <br>
	</c:forTokens>

	<c:redirect url="./EL_form_request.jsp">
		<c:param name="para" value="massage"/>
	</c:redirect>
</body>
</html>

 

<%@ taglib prefix = "c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix = "x" uri="http://java.sun.com/jsp/jstl/xml"%>
<%@ taglib prefix = "fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix = "sql" uri="http://java.sun.com/jsp/jstl/sql"%>
<%@ taglib prefix = "fn" uri="http://java.sun.com/jsp/jstl/functions"%>

이런식으로 선언해주면 사용이 가능합니다. 왜 다 적었냐면 그냥 어떻게 쓰는지 알려주려고 그랬습니다.

 

 

<c:set 변수타입 = "변수명" value = "변수값">

<c:set var="jum" value="99"/>

 

변수를 선언합니다.

 

<c:remove 변수타입 =" 변수명"/>

<c:remove var="jum"/>

 

변수를 제거합니다.

 

<c:if test="${조건문}"> 

<c:if test="${jum <= 100}">

 

if문입니다.

 

<c:catch 변수타입="변수명">

<c:catch var="errmsg">

 

예외 메세지를 받아주는 변수타입과 변수명을 설정해주고 try catch처럼 예외를 잡아줍니다.

 

<cout: value="출력할 것">

<c:out value="${errmsg}"/>

 

출력문입니다. 

 

<c:choose> 

 

switch문입니다.

 

<c:when test="${조건문}">

<c:when test="${jum>=90}">

 

case문입니다.

 

<c:otherwise>

default문 입니다. 

 

- 형태 1 -

<c:forEach 반복자변수타입="반복자변수명" begin="반복자초기값" end="반복자끝값" step="${증가값"}

<c:forEach var="ibegin="1end="10step="${i = i + 1}">

 

for문입니다. 이걸 자바의 for문으로 바꾸면 이와 같다

for(var i = 1 ; i <= 10 ; i++)

 

- 형태 2 -

 

<c:forEach items="${books}" var="book" varStatus="status">

    ${status.current} 

    ${status.index} 

    ${status.count} 

    ${status.begin}

    ${status.end} 

    ${status.step} 

</c:forEach>

 

items : 배열명

begin : 반복문의 시작값을 설정

end : 반복문의 종료값을 설정

step : 반복문의 증가값을 설정

var : 배열의 인덱스

varStatus : 변수의 상태를 담을 변수를 설정

 

${status.current} : 현재 인덱스

${status.index} : 0부터의 순서

${status.count} : 1부터의 순서

${status.begin} : 시작값

${status.end} : 끝값

${status.step} : 증가값

 

<c:forTokens 토큰내용이들어갈 변수타입=변수명 items="내용" delims="구분자">

<c:forTokens var="msgitems="JSTL program test!delims=" ">

 

내용을 구분자로 나눠서 변수명(msg)에 들어가게 됩니다.

 

<c:redirect url="연결 할 곳">

<c:redirect url="./EL_form_request.jsp">

 

redirect와 동일합니다.

 

<c:param name="속성명" value="속성값">

<c:param name="para" value="massage"/>

 

jsp:param과 동일합니다.

반응형