티스토리 뷰

FRONT-END/JSP

[JSP] ACTION TAG - 액션 태그

진심스테이크 2018. 4. 16. 14:18

 

Action Tag

- 스크립트 언어를 사용하지 않고 다른 페이지의 서블릿이나 자바빈의 객체에 접근할 수 있도록 태그를 이용해 구현된 기능

- 보이는 부분과 처리 부분을 별도로 분리

 

 

목적

- 반복되는 사이트를 만들 때

 

 


 

 

예제

 

top.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>상단에 표시될 메뉴 파일 이름</title>
</head>
<body>
<a href="#">Login</a> | 
<a href="#">Join</a>
</body>
</html>

 

 

bottom.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>하단에 표시될 파일 이름</title>
</head>
<body>
Since 2018
</body>
</html>

 

 

left.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>좌측에 표시될 메뉴 파일 이름</title>
</head>
<body>
    <a href="?page=newitem.jsp">신상품</a>
    <br>
    <br>
    <a href="?page=bestitem.jsp">인기상품</a>
</body>
</html>

 

newitem.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>신상품 페이지 파일 이름</title>
</head>
<body>
신상품 목록입니다
</body>
</html>

 

 

bestitem.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>인기상품 페이지 파일 이름</title>
</head>
<body>
인기상품 목록입니다
</body>
</html>

 

 

template.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>템플릿 페이지</title>
</head>
<body>
    <%
        String newpage = request.getParameter("page");
        /* right.jsp 에서 page값을 넘겨받는다. */
        if (newpage == null) {
            /*여기에쓰는 페이지가 처음 페이지가 열렸을때 보이는 페이지다
            처음 페이지가 열리면 newpage의 값은 null이고  이프문이 사용되면서 메인,jsp가 나온다.
            만약 왼쪽의 새상품을 누르게되면 left.jsp에서 page값이 넘어오면서 newpage의 값이
            누른 메뉴에 맞게 바뀌고 그에때라 인클루드도 실행되서 페이지가 바뀌어 보이게되는것*/
            /* newpage = "newitem.jsp"; */
            newpage = "newitem.jsp";
        }
    %>

    <table border="1" cellpadding="0" cellspacing="0">
        <tr>
            <td colspan="2" height="35"><jsp:include page="top.jsp" /></td>
        </tr>
        <tr height="100">
            <td align="center" width="100"><jsp:include page="left.jsp" /></td>
            <td width="500" align="center"><jsp:include page="<%= newpage %>" /></td>
        </tr>
        <tr height="35">
            <td colspan="2" align="center"><jsp:include page="bottom.jsp" />
            </td>
        </tr>
    </table>
</body>
</html>

 

 

실행 결과

 

첫 화면을 신상품으로 설정

 

 

 

왼쪽에 [인기상품]을 누르면 내용이 바뀌는것을 볼 수가 있다

 

'FRONT-END > JSP' 카테고리의 다른 글

[JSP] MVC PATTERN  (0) 2018.05.02
[JSP] JAVABEAN  (0) 2018.04.16
[JSP] 간단한 장바구니  (0) 2018.04.13
[JSP] SENDREDIRECT( )  (1) 2018.04.13
[JSP] ATTRIBUTE & SCOPE - 속성과 영역  (0) 2018.04.12
댓글