Spring
12.08.(목) Spring Framework(4): Header/Footer
콜라든포비
2022. 12. 10. 22:57
Header/Footer
저번에 액션태그 include를 이용해서 상하단 메뉴바를 만들었다.
include를 이용하면 include된 jspf파일의 html문 실행결과를 포함시킬 수 있다.
include시켜줄 .jspf파일을 담아줄 include폴더를 만들고, servlet-context.xml에 가서 리소스 매핑을 해준다.
<resources mapping="/include/**" location="/include/" />
web.xml에서도 jsp-config를 추가해서 모든 .jsp파일에 상하단 메뉴바가 include되도록 설정하자.
<!-- include -->
<jsp-config>
<jsp-property-group>
<url-pattern>.jsp</url-pattern>
<include-prelude>/include/top.jspf</include-prelude>
</jsp-property-group>
</jsp-config>
top.jspf - 상단메뉴바
상단 메뉴바의 구성은 홈, 로그인/회원가입, 로그아웃/회원정보수정, 게시판, 자료실 이렇게 5개이다.
/webapp/include폴더 안에 top.jspf를 만들자.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
</head>
<body>
<div class="topMenu">
<ul>
<li><a href="#">홈</a></li>
<li><a href="#">로그인/회원가입</a></li>
<li><a href="#">로그아웃/회원정보수정</a></li>
<li><a href="#">게시판</a></li>
<li><a href="#">자료실</a></li>
</ul>
</div>
아래부분에 있는 </body>와 </html>태그를 지워주자. 이 파일의 실행결과가 포함되기 때문에 필요가 없다.
style.css를 불러오는 명령어와 jQuery를 불러오는 명령어를 한번 해주면, 모든 .jsp파일에 적용이 된다. 그리고 닫는 body태그와 닫는 html태그를 지우자.
bottom.jspf - 하단메뉴바
하단메뉴바도 추가하고 web.xml에 매핑하자.
<!-- include -->
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<include-prelude>/include/top.jspf</include-prelude>
<include-coda>/include/bottom.jspf</include-coda>
</jsp-property-group>
</jsp-config>
include폴더 안에 bottom.jspf를 생성하자.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<div class="bottomMenu">
@copyright Poby.
</div>
</body>
</html>
여기서는 반대로 윗 부분을 날리면 된다.
CSS로 다듬기
top.jspf에서 불러온 style.css을 열어서 메뉴바를 다듬어주자.
/********************TOP**********************/
.topMenu>ul{
/* height:50px; */
overflow:auto;
background-color:orange;
}
.topMenu>ul>li{
float:left;
height:50px;
line-height:50px;
font-size:1.2em;
padding:0 80px;
list-style-type:none;
}
/*******************BOTTOM********************/
.bottomMenu{
text-align:center;
height:100px;
line-height:100px;
background-color:#ddd;
}