Skip to content

Instantly share code, notes, and snippets.

@eleclerc
Last active January 13, 2020 08:22
Show Gist options
  • Save eleclerc/9deef1f4a73295768889 to your computer and use it in GitHub Desktop.
Save eleclerc/9deef1f4a73295768889 to your computer and use it in GitHub Desktop.
Spring Boot wit JSP/Tiles3

Spring Boot with JSP and Tiles3

Using tiles and jsp on a Spring Boot 1.2.7 project

file: pom.xml

under <project>

<packaging>war</packaging>

under <properties>

<main.basedir>${basedir}/../..</main.basedir>
<m2eclipse.wtp.contextRoot>/</m2eclipse.wtp.contextRoot>

under <dependencies>

<dependency>
	<groupId>org.apache.tomcat.embed</groupId>
	<artifactId>tomcat-embed-jasper</artifactId>
	<scope>provided</scope>
</dependency>
<dependency>
  <groupId>org.apache.tiles</groupId>
  <artifactId>tiles-jsp</artifactId>
  <version>3.0.4</version>
</dependency>
<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>jstl</artifactId>
</dependency>
<dependency>
  <groupId>javax.servlet.jsp</groupId>
  <artifactId>jsp-api</artifactId>
  <version>2.2</version>
</dependency>

file: application.properties

spring.view.prefix= /WEB-INF/jsp/
spring.view.suffix: .jsp

JSP and Tiles files location

src/main/webapp/WEB-INF/jsp/
src/main/webapp/WEB-INF/tiles/

Tiles configuration

create a new file your.package.config.ConfigurationForTiles

package your.package.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.TilesView;
import org.springframework.web.servlet.view.tiles3.TilesViewResolver;

@Configuration
public class ConfigurationForTiles {

    @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 resolver = new TilesViewResolver();
        resolver.setViewClass(TilesView.class);
        return resolver;
    }
}
@ettingshausen
Copy link

What these two properties do?

<main.basedir>${basedir}/../..</main.basedir>
<m2eclipse.wtp.contextRoot>/</m2eclipse.wtp.contextRoot>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment