본문 바로가기

Frontend/jQuery & JSTL

[JSP] Page Forward / Include

반응형

웹페이지 구현시 특정 div부분을 JSP파일로 변경하고 싶었다. 하지만 tiles를 수정하지 않고 진행하려고 하였다.

 

포워드 방식 3가지

1) pageContext.forward("이동할페이지");

 

2) <jsp:forward page="이동할페이지"/>;

...
<jsp:foward page="A.jsp"/>  <!-- 다른 JSP파일 호출 -->
...

=> redirect 방식은 request와 response가 유지되지 않으며, 이동된 URL이 표기되어 좋지 않다. 반면 Forward방식은 Request 스코프에 담긴 값들이 유지되며 이동된 URL이 표시되지 않는다.

 

3) RequestDispatcher rd = request.getRequestDispatcher("이동할페이지");

     rd.forward(request,response);

 

하지만 forward은 페이지의 이동에 대한 방식이기 때문에 이동보다는 페이지에 불러오는 방식이 좋겠다고 판단했다.

두가지의 차이점은 아래와 같다.

<jsp:forward page="example.jsp" flush="true"/> : example.jsp 페이지로 페이지 이동

<jsp:include page="example.jsp" flush="true"/> : example.jsp를 페이지에 포함하여 열기

 

여기서 나오는 flush속성은 현재 페이지가 지금까지 출력 버퍼에 저장한 결과를 어떻게 처리할 것인가를 결정하는 것이라고 한다.

만약 flush속성이 true라면 출력 버퍼의 내용을 웹 브라우저에 전송할때 헤더 정보도 같이 전송되고 이후 헤더 정보를 추가해도 결과가 반영되지 않기 때문에 일반적으로 flush 속성의 값은 false로 지정한다.

 

 

반응형

'Frontend > jQuery & JSTL' 카테고리의 다른 글

[JSTL] jQuery VS JSTL  (0) 2024.02.20
[JavaScript] 기본 코드  (0) 2024.02.20
[JavaScript] Ajax 사용법  (0) 2024.02.20
[JavaScript] substr(), substring(), slice() 비교  (0) 2024.02.20
[JavaScript] 숫자 표현  (0) 2024.02.20