JSP

JSP ⇒ JSTL/EL 문법과 사용법…허허

WOOOOJI 2023. 1. 16. 19:34

JSTL : Java Standard Tag Library 의 약자로 JSP 표준 라이브러리.

  • JSP에서 자주 사용하는 기능들을 모아 구현해 놓은 커스텀 태그 라이브러리
  • JSTL은 EL 방식을 사용하여 표현한다.
  • Apache 재단에서 만든 custiom tag
  • 스크립트 릿으로 작성해야 할 로직들을 태그로 작성이 가능하다.

핵심 :

변수 기능 지원

  1. set : JSP에서 사용 될 변수설정
  2. remove : 설정한 변수 제거

반복문, 조건문

  1. if : 조건문
  2. choose : 다중 조건 처리 (else if)
  3. forEach : collection의 각 항목을 처리 할때 사용하는 반복문 (자바의 향상된 for문의 기능 지원)
  4. forTokens : 구분자 설정을 통해 분리된 토큰을 처리시 사용

if 태그 : 조건문

<c:if test="true">
	true이므로 실행한다.
</c:if>

test=” “ 안에 true or false가 올 수 있으며 당연히 연산 결과도 올 수 있다


Choose 태그 : when == else if, otherwise == else 역할

<c:choose>

		<c:when test="${requestScope.name=='홍길동'}">
			홍길동님이 맞습니다.<br>
			나이는 ${requestScope.age}세 입니다.
		</c:when>

		<c:when test="${requestScope.name == '동길홍'}">
			동길홍님이 맞습니다.<br>
			나이는 ${requestScope.age}세 입니다.
		</c:when>

		<!--  else 역할 -->
		<c:otherwise>
			홍길동 아님
		</c:otherwise>
	</c:choose>

forEach 태그 : 반복문

<c:forEach items="${[Scope종류].[전송대상이름]}" var="[요소지정변수]" varStatus="[변수]">
</c:forEach>

<!-- <c:forEach begin="[시작숫자]" end="[끝나는숫자]" var="[요소지정 변수]"> -->

	<c:forEach begin="1" end="5" var="num">
		${num}<br>
	</c:forEach>

items : 대상 배열 또는 컬렉션

var : 요소를 저장할 변수

varStatus : index와 count 속성이 있다.  (index는 0부터, count는 1부터 시작)


set 태그 : 변수 저장

<c:set var="[지정할 변수이름]" value="${[ ]Scope.[name].[variable]}"></c:set>

import 태그 : (include)

<c:import url="[header or footer path]"></c:import>

JSP에서 include action tag와 같은 기능을 합니다.

차이는 JSTL import는 다른 웹 어플리케이션의 자원을 이용할 수 있다는 것입니다.

(JSP는 자신의 웹 어플리케이션 프로젝트의 자원만 이용할 수 있다!)


EL : Expression Language

  • JSP 스크립트 언어.
  • 기존의 Script tag의 표현식 <%=변수 %> tag에서 업그레이드된 버전 ⇒ ${ 변수 }

${ }

  • JSP가 실행될 때 즉시 반영된다.
  • 객체 프로퍼티 값을 꺼낼때 주로 사용

핵심

  1. JSP 속성영역 (requset, response, session, application)에 저장된 객체의 property를 가져올수 있다.
  2. 리터럴 데이터, 다양한 연산결과 출력이 가능하다.
  3. JSTL과 연동하여 사용이 가능하다 (핵심)

실제로 EL태그를 사용하면 되게 간단하게 변수들을 가져오고 사용할 수 있으니 눈여겨 보는게 좋습니다!….

자주 쓰고 많이 쓰는것들만 확인해보죠!

Session 에서 Attribute 가져오기

String member="Ji sung";
session.setAttribute("member",member);

${member }

매우매우 간단하죠?….세션에 저장할때 지정한 이름으로 접근이 가능하며, 단순하게 ${} 안에 적어주면 끗.

다만 위와 같이 작성하게 되면 모든 보관소를 다 검색하여서 값을 가져오지만, 특정보관소만 찾도록 지정이 가능합니다!

String member="Ji sung";
session.setAttribute("member",member);

${sessionScope.member }

이러면 끗….너무 쉽죠?… 다만 표현방식이 너무나도 많아서 다 정리하진 못하구

제일 많이 사용하는건 위와 같이 property를 가져올때 되게 자주 쓰이게 됩니다!

728x90