jsp tag 라이브러리를 이용한 템플릿 작성
1. .tag 파일
1) 태그 정의
파일 최상단에
<%@tag pageEncoding="UTF-8" language="java" description="Base Template" %>
2) attribute, fragment 정의
태그 파일에서 각 부분을 불러올 때 사용할 attribute를 정의한다.
- <%@attribute name="title" required="true" %> : 이런 식으로 작성하면 base 태그 안에 같이 쓰는 attribute를 정의할 수 있다.
- <%@attribute name="js" fragment="true" required="false" %> : fragment="true"를 추가하면 invoke로 불러올 수 있다.
3) 템플릿 작성
모든 페이지에서 공통적인 부분을 작성한다. 예를 들면 이런 식. 굵은 글씨는 2)에서 정의한 attribute와 fragment.
<head>
<title><%=title%></title>
<jsp:invoke fragment="style"/>
</head>
<body>
<jsp:invoke fragment="header"/>
<jsp:invoke fragment="content"/>
<jsp:invoke fragment="footer"/>
<jsp:invoke fragment="script"/>
</body>
그냥 attribute는 <% 이 안에서 사용할 수 있고 %> fragment는 invoke로 불러오면 된다.
2. .jsp 파일에서 불러오기
1) import
파일 최상단에
<%@taglib prefix="t" tagdir="태그경로" %>
2) 불러오기
<t:base> 안에 <jsp:attribute>로 사용. 코드 작성 순서랑 관계없이 .tag에서 정의한 위치에 들어간다.
<t:base title="index">
<jsp:attribute name="header">
내용
</jsp:attribute>
</t:base>
1) 태그 정의
파일 최상단에
<%@tag pageEncoding="UTF-8" language="java" description="Base Template" %>
2) attribute, fragment 정의
태그 파일에서 각 부분을 불러올 때 사용할 attribute를 정의한다.
- <%@attribute name="title" required="true" %> : 이런 식으로 작성하면 base 태그 안에 같이 쓰는 attribute를 정의할 수 있다.
- <%@attribute name="js" fragment="true" required="false" %> : fragment="true"를 추가하면 invoke로 불러올 수 있다.
3) 템플릿 작성
모든 페이지에서 공통적인 부분을 작성한다. 예를 들면 이런 식. 굵은 글씨는 2)에서 정의한 attribute와 fragment.
<head>
<title><%=title%></title>
<jsp:invoke fragment="style"/>
</head>
<body>
<jsp:invoke fragment="header"/>
<jsp:invoke fragment="content"/>
<jsp:invoke fragment="footer"/>
<jsp:invoke fragment="script"/>
</body>
그냥 attribute는 <% 이 안에서 사용할 수 있고 %> fragment는 invoke로 불러오면 된다.
2. .jsp 파일에서 불러오기
1) import
파일 최상단에
<%@taglib prefix="t" tagdir="태그경로" %>
2) 불러오기
<t:base> 안에 <jsp:attribute>로 사용. 코드 작성 순서랑 관계없이 .tag에서 정의한 위치에 들어간다.
<t:base title="index">
<jsp:attribute name="header">
내용
</jsp:attribute>
</t:base>