thymeleaf의 시대지만, sitemesh도 나름 괜찮당 어찌보면 tiles보다는 낫지 않은가?
pom.xml에 라이브러리 추강
<!-- SiteMesh -->
<dependency>
<groupId>opensymphony</groupId>
<artifactId>sitemesh</artifactId>
<version>2.4.2</version>
</dependency>
web.xml에 필터 추강
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
꼬옥 WEB-INF 폴더에 sitemesh 설정파일인 sitemesh.xml 파일 일단 아래 내용으로 추가
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<sitemesh>
<property name="decofile" value="/WEB-INF/decorators.xml" />
<excludes file="${decofile}" />
<page-parsers>
<parser content-type="text/html"
class="com.opensymphony.module.sitemesh.parser.HTMLPageParser" />
</page-parsers>
<decorator-mappers>
<mapper
class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper">
<param name="config" value="${decorfile}" />
</mapper>
</decorator-mappers>
</sitemesh>
데코레이터 설정 파일인 decorators.xml 파일 일단 아래 내용으로 추강
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<decorators defaultdir="/WEB-INF/test">
<decorator name="main" page="decorator.jsp">
<pattern>/aaa/*</pattern>
<!-- 1개의 decorator는 0개 이상의 pattern을 가질 수 있다 -->
</decorator>
<excludes>
<pattern>/**/merong/*</pattern>
</excludes>
</decorators>
누느로 화긴용 decorator.jsp를 아래처럼 맹글장
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="decorator" uri="http://www.opensymphony.com/sitemesh/decorator" %>
<html>
<head>
<title><decorator:title default="메롱" /></title>
<decorator:head />
</head>
<body>
<div><h1>보통 header가 오는 자링</h1></div>
<hr/>
<!-- getProperty -->
<decorator:body />
<hr/>
<div>보통 footer가 오는 자링</div>
<decorator:getProperty property="page.local_script" />
</body>
</html>
누느로 화긴용 test.jsp를 아래처럼 맹글장
<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>확인용</title>
<script>
window.onload = function() {
alert("메에롱~~~");
}
</script>
</head>
<body>
<h1>요것만 데코레이터 body로 갈까용?</h1>
<content tag="local_script">
<script>
function f_aaa(){
console.log("merong");
}
f_aaa();
</script>
</content>
</body>
</html>
시랭 화긴용 써블렛을 아래처럼 맹글장
@Controller
@RequestMapping("/aaa")
public class HomeController {
@RequestMapping(value = "/test", method = RequestMethod.GET)
public String test() {
return "test";
}
}
시랭해서 누느로 보장. 보인다! 끄읕
Apache POI (0) | 2022.11.16 |
---|---|
STS3(Spring Tool Suite) 설치 (0) | 2022.10.20 |
아주 주의 (2) | 2022.06.29 |
log4j2 (0) | 2022.06.28 |
MyBatipse (0) | 2022.06.10 |