지난 작업에 이어서 오늘은 화면템플릿인 sitemesh를 적용해보았다.
기존 사이트가 jsp를 사용하고 있는데 퍼블리싱은 도저히 손댈수가 없어서.. jsp기반의 템플릿을 사용했다.
1. pom.xml dependency 추가
<!-- sitemesh -->
<dependency>
<groupId>opensymphony</groupId>
<artifactId>sitemesh</artifactId>
<version>2.4.2</version>
</dependency>
2. Bean 등록
- 부트에서는 Application 클래스에 명시적으로 Bean을 등록 (mvc에서는 web.xml 에 설정)
@SpringBootApplication
@EnableAutoConfiguration
public class HdlApplication {
public static void main(String[] args) {
SpringApplication.run(HdlApplication.class, args);
}
@Bean
public FilterRegistrationBean siteMeshFilter() {
FilterRegistrationBean filter = new FilterRegistrationBean();
filter.setFilter(new SiteMeshFilter());
return filter;
}
}
3. xml 설정
- sitemesh를 사용하기 위해서는 decorators.xml 파일을 설정해줘야하는데
- 부트를 쓰는 경우에 해당 파일은 webapp/WEB-INF/ 하위에 위치해야 자동으로 설정이 된다.
- decorators.xml 에서는 exclude 할 패턴과 header, footer 정보들을 설정하면 됨
<?xml version="1.0" encoding="UTF-8"?>
<decorators defaultdir="/WEB-INF/jsp/adm/">
<excludes>
<!-- 예외처리 패턴 -->
<pattern>**.html</pattern>
<pattern>**/loginform</pattern>
</excludes>
<!-- ADMIN DECORATOR START -->
<decorator name="web_admin" page="layout/template.jsp">
<pattern>/adm/*</pattern>
<pattern>/WEB-INF/jsp/adm/**</pattern>
</decorator>
<decorator name="web_admin_header" page="layout/header.jsp"/>
<decorator name="web_admin_footer" page="layout/footer.jsp"/>
<!--// ADMIN DECORATOR END -->
</decorators>
'사이드 프로젝트' 카테고리의 다른 글
Spring Boot 프로젝트4 - datasource 적용 (0) | 2019.05.28 |
---|---|
Spring Boot 프로젝트 셋팅2 - 프레임워크 (0) | 2019.05.21 |
Spring Boot 프로젝트 셋팅1 - 서버환경 (0) | 2019.05.11 |
코딩야학 프로젝트 day5 (0) | 2019.01.22 |
코딩야학 프로젝트 day4 (0) | 2019.01.16 |