java gradel 프로젝트에 tiles를 설정하는 방법을 정리하고 사용샘플을 작성

Java Gradle 프로젝트에서 Tiles(타일즈) 설정 방법은 다음과 같습니다. 이 라이브러리는 JSP 레이아웃을 효율적으로 관리할 때 많이 활용됩니다.


설정 방법 요약

  • build.gradle에 Tiles 관련 라이브러리 추가

  • Tiles 환경설정 클래스(@Configuration) 작성

  • tiles.xml 레이아웃 설정 파일 생성 및 레이아웃 JSP 파일 작성


설정 단계 및 코드 샘플

1. build.gradle에 의존성 추가

groovy
dependencies {
implementation 'org.apache.tiles:tiles-jsp:3.0.8'
implementation 'org.apache.tiles:tiles-core:3.0.8'
implementation 'javax.servlet:jstl:1.2'
}

2. Tiles 환경설정 @Configuration 클래스 생성

java
package com.example.demo.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.view.tiles3.TilesConfigurer;
import org.springframework.web.servlet.view.tiles3.TilesViewResolver;
import org.springframework.web.servlet.view.tiles3.TilesView;

@Configuration
public class WebConfig {
@Bean
public TilesConfigurer tilesConfigurer() {
final TilesConfigurer configurer = new TilesConfigurer();
configurer.setDefinitions(new String[] { "/WEB-INF/tiles/tiles.xml" });
configurer.setCheckRefresh(true);
return configurer;
}

@Bean
public TilesViewResolver tilesViewResolver() {
final TilesViewResolver tilesViewResolver = new TilesViewResolver();
tilesViewResolver.setViewClass(TilesView.class);
tilesViewResolver.setOrder(1);
return tilesViewResolver;
}
}

3. tiles.xml 레이아웃 설정 파일 작성

xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
"http://tiles.apache.org/dtds/tiles-config_3_0.dtd">
<tiles-definitions>
<definition name="layout-tiles" template="/WEB-INF/tiles/layouts/layout-basic.jsp">
<put-attribute name="header" value="/WEB-INF/tiles/layouts/header.jsp"/>
<put-attribute name="side" value="/WEB-INF/tiles/layouts/side.jsp"/>
<put-attribute name="body" value=""/>
</definition>

<definition name="*/*" extends="layout-tiles">
<put-attribute name="body" value="/WEB-INF/views/{1}/{2}.jsp"/>
</definition>
</tiles-definitions>

4. 레이아웃 JSP 예제

java gradel 프로젝트에 tiles를 설정하는 방법을 정리하고 사용샘플을 작성

layout-basic.jsp

text
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<tiles:insertAttribute name="header"/>
<tiles:insertAttribute name="body"/>
<tiles:insertAttribute name="footer"/>
</body>
</html>

header.jsp, footer.jsp 등도 동일 패턴으로 작성


참고사항

  • 레이아웃 구조에 따라 tiles.xml, JSP 파일 경로 및 속성들은 변경될 수 있습니다. {1}, {2} 등의 인덱스를 활용하여 뷰 라우팅을 제어할 수 있습니다.

  • Gradle로 프로젝트 빌드 및 의존성 관리를 수행한 뒤, Tile 레이아웃 구조에 맞게 파일을 생성하면 JSP 화면 분할이 쉽습니다.


샘플 폴더 구조 예시

  • /src/main/webapp/WEB-INF/tiles/layouts/layout-basic.jsp

  • /src/main/webapp/WEB-INF/tiles/layouts/header.jsp

  • /src/main/webapp/WEB-INF/tiles/layouts/side.jsp

  • /src/main/webapp/WEB-INF/tiles/tiles.xml

  • /src/main/webapp/WEB-INF/views/…


이 방식으로 Java Gradle 프로젝트에서 Tiles를 적용하고 샘플을 활용할 수 있습니다.