른록노트
[Spring] Jsp 필요한 내용 정리 본문
1. JSP란
JSP(Java Server Page)란 HTML에 Java 코드를 섞어 놓은 페이지입니다.
Java를 사용하기 위해 아래 표현 방식을 사용할 수 있습니다.
2. 표현방식
1. scritlet
<% %> 스크립틀릿 : JSP에서 Java 코드를 작성할 수 있습니다.
<%@ %> 지시자 : JSP에서 지시자는 컨테이너가 페이지를 자바코드로 변환 할 때 특별한 지시를 내릴 수 있도록 고안된 것들을 말한다.
지시자에는 page, include, taglib가 있습니다.
1.1. page
page 지시자는 java코드의 import와 같습니다.
<%@ page import="src.util.*" %>
1.2. include
서버측 include라고 생각하면 됩니다.
JSP파일을 자바 소스로 변환할 때 처리하여 현재 파일에 삽입시키고 컴파일합니다. (정적)
<%@ include file="top.jsp" %>
1.2.1. jsp:include 와의 차이
서버측 include가 아닌 클라이언트측의 include라 생각하면 됩니다.
속성은 아래 두개가 있습니다.
- page
포함시키고자 하는 문서의 위치를 명시한다
상대경로뿐만 아니라 절대경로도 가능하다
서블릿 컨테이너에 따라 HTML 페이지는 안될 수도 있다
get 방식으로 파라미터를 전달 할수 없다
동적으로 페이지 할당이 가능하다
즉 <jsp:include page="<%=variable%>" flush="true"/> 가 가능하다
- flush
true : 문서의 출력 결과를 항상 버퍼내에서 갱신 하라는 의미이다
<jsp:include page="top.jsp">
<jsp:param value="ok" name="flag"/>
</jsp:include>
name - 이동할 페이지에 전달될 파라미터의 이름 ( 표현식 사용 불가 )
value - 이동할 페이지에 전달될 파라미터의 값( 표현식 사용 가능 )
받는곳에서 request.getParameter("flag");로 받을 수 있습니다.
1.3. taglib
태그 라이브러리란 JSP에서 다양한 태그를 선언해주는 역할을 합니다.
아래는 jstl 선언 예시입니다.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
1.4. 표현식
<%= %> 이렇게 사용햇서 JSP에 문자열을 나타낼 수 있고
<% out.println("") %> 이 방법으로도 같은 동작을 할 수 있습니다.
2. jstl (Jsp Standard Tag Library)
JSTL은 표준 액션태그로 처리하기 힘든 부분을 담당합니다.
JSTL의 Core에서 c를 이용해 <%if%>문을 <c:if>, <%for%>문을 <c:forEach>로 대체하여 사용합니다.
jstl 태그 사용법
3. el (Expression Language)
JSP 2.0버전에서 새로 추가된 스크립트 언어인 EL(Expression Language)은 <%= abc %>를 ${abc}로 간단하게 사용할 수 있게 하였습니다.
3.1 사용목적
<%= %> , out.println()과 같은 자바코드를
더 이상 사용하지 않고 좀더 간편하게 출력을 지원하기 위한 도구.
배열이나 컬렉션에서도 사용되고, JavaBean의 프로퍼티에서도 사용됩니다.
참고사이트
JSP 기초 (스크립틀릿, 지시자, 표현식)
JSTL과 EL 문법 사용하기
jspinclude와 include의 차이
[JSP] JSTL 사용 방법 - 주요 태그 문법 정리
EL과 JSTL 한방에 정리