0

I wanted to play around with Spring Boot and Thymeleaf. Therefore I loaded my Spring Boot App via Spring Initialzr and set Web and Thymeleaf as dependencies. Sadly I cannot resolve any dynamic html only static ones.

When requesting localhost:8080/ I receive this: The message is:${message}

Gonna provide some code to show off my setup (most minimal code possible)

WebApp.java

package com.example; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ApplicationContext; import java.util.Arrays; @SpringBootApplication public class WebApp { public static void main(String[] args) { ApplicationContext ctx = SpringApplication.run(WebApp.class, args); } } 

HelloController.java

package com.example; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.method.annotation.ModelFactory; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.View; @Controller public class HelloController { @RequestMapping("/") public ModelAndView handler() { ModelAndView mav = new ModelAndView("twitter"); mav.addObject("message", "message"); return mav; } } 

twitter.html

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> </meta> <title>Test</title> </head> <body> The message is:${message} </body> </html> 

pom.mxl

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>demo</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.1.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> <version>1.4.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> 

1 Answer 1

1

I guess you must change your view :

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> </meta> <title>Test</title> </head> <body> The message is: <span th:text="${message}"></span> </body> </html> 
Sign up to request clarification or add additional context in comments.

3 Comments

wait... don't tell me "th" is a taglib for thymeleaf acronym. I always thought it stands for "table-header" which is used by html. I have very minor experience with HTML tbh.
Please read the Thymeleaf's documentation :)
Yea I read that but since its using a table in the example I was not aware that "th" was a thymeleaf specific keyword

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.