[[ action 태그 ]]
- url 이동시키는 것과 관련된 Java 코드를
간결하게 만들어 제공
( forward / include / param )
1. [ include ]
<jsp:include page= " 포함할jsp명 " />
- 여러개의 jsp파일에서, 공통적으로 필요한 jsp 파일이 있으면, include 해서 사용
( ex. 광고페이지를 어느 페이지를 가던 붙여놓고 싶다거나 )
- include 해서 사용할 JSP에게 주도권을 빌려줘서 처리하고,
=> 합치면서 다시 원래 JSP로 주도권을 가져온다.
=> 응답하는 주체 : 원래 JSP
=> include 는 두 개의 파일에서 만들어진 HTML 뷰단을 다 포함시킨다.
( <=> forward 방식은 forward 받은 파일의 HTML 뷰단만 표시한다. )
ex.)
1번문장
<div>
<jsp:include page="광고.jsp"/>
</div>
2번문장
<순서>
=> 1번문장 out (buffer) 에 저장
=> include 에 있는 a,b,c번문장 out 저장
=> 마지막 shop 2번 문장 out 저장
=> 1 - a - b - c - 2 ( 끠워넣기 )
< getParameter( ) >
요청으로 들어온 입력값 (parameter)을
include 될 jsp 에서도 직접 사용할 수 있다. ( 공유 )
<%if (request.getParameter("id")!=null){%>
<%=request.getParameter("id")%>님 을 초대합니다.
<%}%>
2. [ forward ]
<jsp:forward page="이동할jsp명" />
- 주도권까지 넘기고 돌아오지 않음
- 응답하는 주체 : forward 넘겨받은 JSP
- forward 방식은 forward 받은 파일의 HTML VIEW단 만 표시한다.
: 즉, forward 전달받은 jsp의 HTML만 보여줌 / 이전의 HTML은 무시
=> 왜?
- HTML VIEW 단은 forward 받은 쪽에서 알아서 꾸밀꺼니까.
즉, forward 보내는 쪽은 HTML VIEW 단에는 관심이 없다.
로직 처리만 하는 애다.
로직 처리 => forward => 뷰단처리
서블릿 => forward => JSP
대표적으로 forward 방식 사용하는게
서블릿 => JSP 로
requestDispatch 할 때다.
( 사실상, 이 방식을 위해서 존재하는게 forward 라는 생각이 든다. )
- HTML VIEW 단 까지 합치고 싶으면 include 사용하면 된다.
3. [ param ]
: 사용자 입력값(파라미터) name / value 추가하기 ( 데이터추가하기 )
<jsp:include page="/JSP_prac/includeTarget.jsp">
<jsp:param name="id2" value="Tom"/>
</jsp:include>
: 파라미터로 name=id2 인 태그에서 value입력값으로 "Tom" 이 들어온것으로 조작
- include, forward 액션태그 사이에 사용
- 변수만 추가 가능 / 배열이나 객체 불가능
=> 배열 객체는 setAttribute 로 전달해야함
- <jsp:param > 으로 넘긴 value 값 한글일 경우 웹브라우저에서 ??? 로 인식할 수 있다. ( POST 방식 )
=> forward 나 include 를 보내는 쪽에서
request.setCharacterEncoding("utf-8")
설정해줘야 한다.
- jsp 파일에는 ?파라미터로 넘길 수 있다.
- html 파일에는 ?파라미터로 못 넘긴다. => <jsp:param> 은 html 에는 사용할 수 없다.
---------------------
'Back to the JSP' 카테고리의 다른 글
[JSP] action태그 useBean / get||setProperty (0) | 2022.08.11 |
---|---|
[ 서블릿 + JSP ] 효율적으로 섞어쓰기 (0) | 2022.08.10 |
[JSP] exception 처리 1. errorPage / 2. web.xml (0) | 2022.08.10 |
[JSP] Servlet / JSP 진행순서 (0) | 2022.08.09 |
[JSP] 구성요소들 <%@ / <%= / <%! / <%-- (0) | 2022.08.09 |