INCLUDE (jsp:include, jsp:forward)
- include 액션태그 : include태그가 위치한 부분에 지정한 페이지를 포함한다.
- include 액션태그를 사용하면 다수의 웹페이지에서 중복되는 코드들을 줄일 수 있다. include 태그 사이에 공통되는 코드들을 작성하고 별도의 코드들만 include에 해당하는 페이지에서 작성하면 되기 때문이다.
jsp:include 액션태그 사용법
<jsp:include page="포함할페이지" flush="true" />
예시)
<body>
<table>
<tr>
<td colspan="2"><jsp:include page="top.jsp" /> <!-- top.jsp 액션태그 호출 -->
</tr>
<tr>
<td class="menutd">총방문자수 : XXX<br> 현재접속자수:XXX<br> <a
href="t4.jsp">로그인</a>
<td class="contenttd">환영합니다.
</tr>
<tr>
<td colspan="2"><jsp:include page="bottom.jsp" /></td> <!-- bottom.jsp 액션태그 호출 -->
</tr>
</table>
</body>
- 한 페이지에 4개의 페이지를 동시에 불러와서 표현하는 모습이다.
- 블로그나 카페 등에서 이런식으로 구성된 모습을 볼 수가 있다.
jsp:forward 액션태그 사용법
<jsp:forward page="이동할페이지" >
<jsp:param name="파라미터이름1" value="파라미터값1">
<jsp:param name="파라미터이름2" value="파라미터값2">
<jsp:forward page="이동할페이지" >
- jsp:forward 태그를 이용하면 바로 다른 페이지로 이동한다.
- 이를 이용하면 로직에 대한 처리만 수행한후 표현할 페이지로 값을 넘기는게 가능하다.
- 값은 jsp:param 태그를 이용해서 파라미터 형태로 넘길 수 있다.
<%
String id = request.getParameter("id");
String pw = request.getParameter("pw");
MemberSF sf = MemberSFImpl.getInstance();
try {
sf.login(id, pw);
session.setAttribute("id", id);
response.sendRedirect("template.jsp?p=list.jsp");
} catch (IDNotFoundException | PWMismatchException e) {
request.setAttribute("errorMsg", e.getMessage());
%>
<jsp:forward page="template.jsp">
<jsp:param name="p" value="loginForm.jsp" />
</jsp:forward>
<%
}
%>
- try - catch 문에서 로그인 처리를 한후
- jsp:forward 문을 이용해서 바로 template.jsp로 이동
반응형