https://bbchu.tistory.com/53

 

Spring Boot 프로젝트 셋팅2 - 프레임워크

서버에 톰캣8.5 / Java1.8 설치가능한 것을 확인하고 프레임워크 셋팅을 시작했다. 프레임워크는 Maven 기반 spring boot 프로젝트를 import하여 셋팅하였다. (https://start.spring.io/ 에 접속하여 빌드환경과..

bbchu.tistory.com

지난 작업에 이어서 오늘은 화면템플릿인 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>

 

+ Recent posts