본문 바로가기

dev/java(egov)

decorators.xml 설정

반응형

 

sitemesh 사전적
더보기

Sitemesh의 decorators.xml 파일은 Sitemesh가 템플릿을 적용하는 방식을 정의하는 파일입니다. 이 파일은 웹 애플리케이션의 리소스 디렉터리에 위치하며, Sitemesh가 페이지 레이아웃을 적용할 때 사용됩니다.

보통 decorators.xml 파일은 다음과 비슷한 형태를 가집니다:

 

<decorators defaultdir="/WEB-INF/decorators">
    <decorator name="main" page="/WEB-INF/decorators/main.jsp">
        <pattern>/secure/*</pattern>
    </decorator>
    <decorator name="simple" page="/WEB-INF/decorators/simple.jsp">
        <pattern>/public/*</pattern>
    </decorator>
    <!-- 다른 decorator 설정들 -->
</decorators>

 

위의 예제에서:

  • <decorators> 루트 요소는 모든 데코레이터의 설정을 감싸는 컨테이너 역할을 합니다.
  • <decorator> 요소는 각 데코레이터의 설정을 정의합니다.
    • name 속성은 데코레이터의 이름을 지정합니다.
    • page 속성은 해당 데코레이터에 대한 템플릿 파일의 경로를 지정합니다.
  • <pattern> 요소는 특정 URL 패턴을 지정하여 해당 패턴에 매칭되는 요청에 대해 특정 데코레이터를 적용하도록 설정합니다.

위의 예제에서 /secure/* 패턴에 매칭되는 요청에는 main.jsp 템플릿이 적용되고, /public/* 패턴에 매칭되는 요청에는 simple.jsp 템플릿이 적용됩니다.

Sitemesh의 decorators.xml 파일은 웹 애플리케이션의 특정 요구사항에 따라 설정되며, 웹 애플리케이션의 구조와 요구사항에 맞게 커스터마이징 될 수 있습니다. 

 

sitemesh 설정에서 decorators.xml 설정 부분을 설명하겠습니다.
  • excludes : 사이트에서 예외처리 되는 페이지입니다. pattern에 포함된 페이지들은 모두 decorators page에 적용이 되지 않습니다. (ex : 메인페이지, 스크립트, 특정 통계 페이지 등)
  • decorator : name는 설명이라고 생각하면 됩니다. page는 기본 페이지 아래에 포함되는 페이지입니다.
  • decorator > pattern : 패턴은 가장 위에서부터 적용이 되며 아래로 내려가면서 조건에 맞춰지는 page가 적용됩니다.

pattern "*.*"을 가장 아래에 작성할 시 모든 페이지는 pattern "*.*" 페이지가 적용 되게 됩니다.

<?xml version="1.0" encoding="utf-8"?>
<decorators>

  	<excludes>
		<pattern>*javascript*</pattern>
		<pattern>*/login.do*</pattern>
		<pattern>*/logintest.do*</pattern>
		<pattern>*/login_sign.do*</pattern>
		<pattern>*/login_vpn.do*</pattern>
		<pattern>*/login_None.do*</pattern>
		<pattern>/comm/error404.do</pattern>
		<pattern>/comm/error500.do</pattern>
		<pattern>*/api/*</pattern>
		<pattern>*/loginProc*</pattern>
	</excludes>

  	<decorator name="사용자기본" page="/WEB-INF/decorators/default.jsp">
		<pattern>*.*</pattern>
	</decorator>
	
	<decorator name="html레이어" page="/WEB-INF/decorators/default_html.jsp">
		<pattern>*html.do*</pattern>
	</decorator>

	<decorator name="def레이어" page="/WEB-INF/decorators/default_def.jsp">
		<pattern>*def.do*</pattern>
	</decorator>
	
  	<decorator name="사용자" page="/WEB-INF/decorators/default.jsp">
		<pattern>*.*</pattern>
	</decorator>
	
	<decorator name="레이어" page="/WEB-INF/decorators/default_layer.jsp">
		<pattern>*Layer*</pattern>
		<pattern>*_pop.do*</pattern>
	</decorator>
	
</decorators>

 

반응형

'dev > java(egov)' 카테고리의 다른 글

egov spring boot 배포(egov war 배포)  (1) 2024.04.01
egov 4.1 spring boot 다국어  (0) 2024.02.15
egov 4.1 spring boot sitemesh 설정  (0) 2024.02.13
egov 4.1 spring boot multi db  (2) 2024.02.12
egov 4.1 db application.yml 설정  (0) 2024.02.11