본문 바로가기
스프링 게시판

spring Sitemesh java config 설정

by 뇽꾸리 2021. 8. 24.
반응형

 

public class SiteMeshConfig extends ConfigurableSiteMeshFilter  {

  
  @Override
  protected void applyCustomConfiguration(SiteMeshFilterBuilder builder) {
       builder.addDecoratorPath("/*", "/WEB-INF/views/decorator/layout.jsp");
  }
}
package yum.test.config;

import javax.servlet.Filter;
import javax.servlet.MultipartConfigElement;
import javax.servlet.ServletRegistration.Dynamic;

import org.springframework.web.filter.CharacterEncodingFilter;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

public class WebConfig extends AbstractAnnotationConfigDispatcherServletInitializer {
  static {
      System.out.println("반가웡");
  }

  @Override
  protected Class<?>[] getRootConfigClasses() {
    return new Class[] { };
  }

  @Override
  protected Class<?>[] getServletConfigClasses() {
    return new Class[] { ServletConfig.class};
  }

  @Override
  protected String[] getServletMappings() {
    return new String[] { "/" };
  }

  @Override
  protected Filter[] getServletFilters() {
    CharacterEncodingFilter charactorEncodingFilter = new CharacterEncodingFilter();
    charactorEncodingFilter.setEncoding("UTF-8");
    charactorEncodingFilter.setForceEncoding(true);
    return new Filter[] { charactorEncodingFilter  , new SiteMeshConfig()};
  }
  

  @Override
  protected void customizeRegistration(Dynamic registration) {
    registration.setInitParameter("throwExceptionIfNoHandlerFound", "true");//404 처리 핸들링

    MultipartConfigElement multipartConfig = new MultipartConfigElement(""
        , 20*1024*1024 //파일하나의 최대 크기 : 1MB * 20
        , 100*1024*1024 //업로드단위로 모두 합한 전체 크기 (기본 -1L - 무한대): 100MB 
        , 20*1024*1024 //메모리에서 임시디렉토리 전환크기(기본 0 - 무조건 임시디렉토리 저장) : 20MB 
        );

    registration.setMultipartConfig(multipartConfig);
  }


}

 

layout.jsp

<%@ 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">
<title> layout </title>
</head>
<body>

      <header>
                   아임 헤더  
      </header>
      
      <sitemesh:write property='header'/>
      <div> 저는 레이아웃 메인입니다 . </div>
      
      
      <sitemesh:write property='body'/>
      
      
      <sitemesh:write property='footer'/>
     
      <footer>
       	  아임 푸터 
      </footer>
     
      
</body>
</html>

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<body>
         레이아웃 헤더 입니다
</body>

 

흠.. 우선 되긴한다 .. 

반응형

댓글