decorators.xml 파일은 스프링(Spring) 프레임워크에서 웹 페이지 레이아웃 처리를 위해 사용되는 XML 파일입니다. decorators.xml을 사용하여 레이아웃을 처리하는 방법은 다음과 같습니다.
1. decorators.xml 파일 생성 먼저, 프로젝트 내에 decorators.xml 파일을 생성합니다. 일반적으로 이 파일은 WEB-INF 디렉토리 내에 위치시킵니다.
2. 레이아웃 정의 decorators.xml 파일에는 레이아웃을 정의하는 코드가 포함됩니다. 이 코드에서는 레이아웃에서 사용될 헤더, 푸터 등의 구성 요소를 정의합니다. 이 코드는 다음과 같은 형식을 따릅니다.
// xml
<?xml version="1.0" encoding="UTF-8"?>
<decorators defaultdir="/WEB-INF/views/system/inc">
<decorator name="test" page="testmain.jsp">
<pattern>/*</pattern>
</decorator>
<decorator name="sub1" template="/WEB-INF/views/layouts/sub1.jsp">
<pattern>/sub01.do</pattern>
<pattern>/sub01/*.do</pattern>
</decorator>
</decorators>
3. <excludes>로 데코레이터를 사용하지 않을 요청을 지정해줄 수 있다. 예를 들면, 회원 가입(/signup), 팝업(/*pop)의 경우 내비게이션과 같은 공통된 레이아웃이 필요하지 않았기에 exclude했다
// decorators.xml
<?xml version="1.0" encoding="UTF-8"?>
<decorators defaultdir="/WEB-INF/views/system/inc">
<decorator name="test" page="testmain.jsp">
<pattern>/*</pattern>
</decorator>
<decorator name="sub1" template="/WEB-INF/views/layouts/sub1.jsp">
<pattern>/sub01.do</pattern>
<pattern>/sub01/*.do</pattern>
</decorator>
<excludes>
<pattern>/signup</pattern>
<pattern>/*pop</pattern>
</excludes>
</decorators>
4. JSP 파일에서 레이아웃 적용 페이지를 작성할 때는 JSP 파일에서 레이아웃을 적용합니다. 이를 위해서는 다음과 같은 코드를 사용합니 다.
// sub01.jsp
<html>
<head>
<title>test page</titl>
<decorator:head/>
<script>
function log (a){
console.log(a);
};
</script>
</head>
<body>
<div>
<li> 첫 라인입니다. <li>
</div>
<decorator:body/>
<div>
<li> 두번째 라인입니다. </li>
</div>
</body>
</html>
5. 최종 호출할 페이지 내용을 아래와 같이 입력합니다.
// test01.jsp
<html>
<head>
<script type="text/javascript" src="LTag:webPath kind="js">xsync.js</LTag:webPaht>"</script>
</head>
<body>
<style>
</style>
여기가 body 입니다.
</body>
</html>
6. 위의 코드에서 name 속성은 decorators.xml 파일에서 정의한 definition의 이름을 나타냅니다. 이를 통해 스프링(Spring) MVC는 JSP 파일과 decorators.xml 파일을 연결하여 최종적인 HTML 페이지를 생성합니다.
test.jsp 가 화면에 표시될때의 내용은 아래와 같습니다.
// test.jsp
<html>
<head>
<title>test page</titl>
<script type="text/javascript" src="LTag:webPath kind="js">xsync.js</LTag:webPaht>"</script>
<script>
function log (a){
console.log(a);
};
</script>
</head>
<body>
<div>
<li> 첫 라인입니다. <li>
</div>
<style>
</style>
여기가 body 입니다.
<div>
<li> 두번째 라인입니다. </li>
</div>
</body>
</html>
이러한 방식으로 decorators.xml 파일을 사용하여 스프링(Spring) 프레임워크에서 웹 페이지 레이아웃을 처리할 수 있습니다.
'IT > 자바' 카테고리의 다른 글
[JAVA] MultiData for문 사용시 데이터 추출 방법 (0) | 2023.10.18 |
---|---|
Spring 프레임워크와 Spring Boot의 차이점 (0) | 2023.07.18 |
decorators.xml 와 sitemash 의 관계 (0) | 2023.03.03 |
decorators.xml 파일의 역활 (0) | 2023.03.03 |
자바 스프링(Spring) 프레임워크 장단점 (0) | 2023.03.03 |