Spring MVC Tiles Kullanımı

sametklou

Spring MVC Tiles Kullanımı

Spring MVC ve Tiles framework'ünü bir araya getirerek sayfa bileşenlerini daha yönetilebilir hale getirmek mümkündür. Bu yazıda Spring MVC ile Tiles framework'ünü nasıl entegre edeceğinizi adım adım öğreneceksiniz.

1. Maven Bağımlılıklarını Ekleyin

İlk adım olarak pom.xml dosyasına Tiles ve Spring MVC bağımlılıklarını eklemelisiniz:

<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-jsp</artifactId>
    <version>3.0.8</version>
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.9</version>
</dependency>

2. Tiles Konfigürasyonu

tiles.xml adında bir konfigürasyon dosyası oluşturun ve Tiles bileşenleri tanımlayın:

<?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="base.definition" template="/WEB-INF/views/template.jsp">
        <put-attribute name="title" value="" />
        <put-attribute name="header" value="/WEB-INF/views/header.jsp" />
        <put-attribute name="content" value="" />
        <put-attribute name="footer" value="/WEB-INF/views/footer.jsp" />
    </definition>

    <definition name="home" extends="base.definition">
        <put-attribute name="title" value="Ana Sayfa" />
        <put-attribute name="content" value="/WEB-INF/views/home.jsp" />
    </definition>
</tiles-definitions>

3. Spring MVC Konfigürasyonu

Spring MVC konfigürasyon dosyanıza TilesViewResolver ve TilesConfigurer bean'lerini ekleyin:

@EnableWebMvc
@Configuration
public class WebConfig implements WebMvcConfigurer {

    @Bean
    public TilesViewResolver tilesViewResolver() {
        TilesViewResolver resolver = new TilesViewResolver();
        resolver.setOrder(0);
        return resolver;
    }

    @Bean
    public TilesConfigurer tilesConfigurer() {
        TilesConfigurer tilesConfigurer = new TilesConfigurer();
        tilesConfigurer.setDefinitions(new String[] {"/WEB-INF/tiles.xml"});
        return tilesConfigurer;
    }

    @Override
    public void configureViewResolvers(ViewResolverRegistry registry) {
        registry.tiles();
    }
}

4. Controller Sınıfı

Spring MVC controller sınıfınızda Tiles view'leri kullanarak sayfa yönlendirmelerini ve bileşenleri düzenlemeyi sağlayabilirsiniz:

@Controller
public class HomeController {

    @RequestMapping("/")
    public String home(Model model) {
        return "home";
    }
}

Sonuç

Artık Spring MVC ile Tiles framework'ünü kullanarak sayfalarınızı daha modüler ve kolay yönetilebilir hale getirebilirsiniz. Bu entegrasyon sayesinde daha temiz ve düzenli bir proje yapısı elde edebilirsiniz. Bağlantılı örnek projeye buradan ulaşabilirsiniz. Herhangi bir sorunuz olursa yorum yapmaktan çekinmeyin!