요청 흐름 제어

8641 단어 jspjsp

<jsp:include>

1. 동작 방식

2.속성

  • page : 포함할 JSP페이지의 경로를 지정한다
  • flush : 지정한 JSP페이지를 실행하기 전에 출력 버퍼를 플러시 할 지 여부를 지정한다(기본값 false)

3. 사용목적

화면의 레이아웃의 일부분을 모듈화 하기 위해서 주로 사용

4. 중복 영역 처리

  • 공통적으로 들어가는 영역의 JSP코드를 액션태그를 사용해서 지정 위치에 포함 시킬 수 있다
    예_ <jsp:include page="/module/top.jsp"/>

5. 포함할 페이지에 파라미터 추가

  • <jsp:param> 태그를 이용
파라미터 추가 
<jsp:include page="sub.jsp" flush="flush">
	<jsp:param name="type" value="A"/>
</jsp:include>

추가한 파라미터 사용
String type = request.getParameter("type");
if(type == null){
    return ;
    }...
  • 이미 동일한 이름의 파라미터가 존재하면 기존 파라미터 값을 유지하면서 새로운 값을 추가한다.
    - request.getParameterValues("파라미터name")

include 디렉티브

1. 동작 방식

include디렉티브는 <jsp:include>와 다르게 지정한 위치에 해당 파일을 삽입 후 JSP파일을 JAVA파일로 변환, 컴파일 하는 방식

<%@ include file="/includee.jspf" %>
  • 코드 차원에서 삽입이 이루어 지는 것이기 때문에 삽입되는 파일 includee.jspf에서 선언한 변수를 사용할 수 있다.

2. 사용목적

  • 모든 JSP페이지에서 사용하는 변수지정
  • 모든 페이지에서 중복되는 간단한 문장(저작권 문장 등)

3. 코드조각 자동포함 기능

web.xml 설정

<jsp-property-group> : JSP의 프로퍼티를 포함한다
<url-pattern> : 프로퍼티를 적용할 JSP파일의 URL 패턴을 지정한다
<include-prelude> : url-pattern에 해당하는 JSP파일의 앞에 삽입할 파일을 지정한다
<include-coda> : url-parttern에 해당하는 JSP파일의 뒤에 삽입할 파일을 지정한다

<jsp:forward>

1. 요청 흐름

  • <jsp:forward page="이동할 페이지"/>
  • from.jsp에서 사용한 request, response기본객체를 그대로 to.jsp로 전달한다
  • to.jsp가 생성한 응답 결과를 웹 브라우저에 전달한다.
    - <jsp:forward> 액션태그를 실행하기 전 출력버퍼에 저장되어 있던 것들을 비우기 때문

2. 파라미터 추가

<jsp:forward page="a.jsp">
	<jsp:param name="first" value="ABC"/>
    <jsp:param name="second" value="123"/>
</jsp:forward>

기본객체의 속성을 이용해 값 전달하기

<jsp:param>액션태그의 단점 : String타입의 값만 전달할 수 있다. 다른 타입의 값들은 변환이 필요
기본객체의 속성 : 이러한 변환 과정이 필요없음
-> request.setAttribute
-> request.getAttribute

  • 사용 예
 - setAttribute
Calendar cal = Calendar.getInstance();
request.setAttribute("time", cal);
	...
<jsp:forward page="/to/time.jsp"/>

- getAttribute
<% Calendar cal = (Calendar)request.getAttribute("time"); %>
현재 시간은   <%=cal.get(Calendar.HOUR)%><%=cal.get(Calendar.MINUTE)%>분입니다.

좋은 웹페이지 즐겨찾기