BAEL-4225 Thymeleaf Variables
This commit is contained in:
parent
c5d164a30d
commit
c0b7dc928a
|
@ -0,0 +1,28 @@
|
||||||
|
package main.java.com.baeldung.thymeleaf.articles;
|
||||||
|
|
||||||
|
public class Article {
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
private String url;
|
||||||
|
|
||||||
|
public Article(String name, String url) {
|
||||||
|
this.name = name;
|
||||||
|
this.url = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUrl() {
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUrl(String url) {
|
||||||
|
this.url = url;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,37 @@
|
||||||
|
package main.java.com.baeldung.thymeleaf.articles;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.Model;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
@RequestMapping("/api/articles")
|
||||||
|
public class ArticlesController {
|
||||||
|
|
||||||
|
@GetMapping
|
||||||
|
public String allArticles(Model model) {
|
||||||
|
model.addAttribute("articles", fetchArticles());
|
||||||
|
return "articles/articles-list";
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<Article> fetchArticles() {
|
||||||
|
return Arrays.asList(
|
||||||
|
new Article(
|
||||||
|
"Introduction to Using Thymeleaf in Spring",
|
||||||
|
"https://www.baeldung.com/thymeleaf-in-spring-mvc"
|
||||||
|
),
|
||||||
|
new Article(
|
||||||
|
"Spring Boot CRUD Application with Thymeleaf",
|
||||||
|
"https://www.baeldung.com/spring-boot-crud-thymeleaf"
|
||||||
|
),
|
||||||
|
new Article(
|
||||||
|
"Spring MVC Data and Thymeleaf",
|
||||||
|
"https://www.baeldung.com/spring-mvc-thymeleaf-data"
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html xmlns:th="http://www.thymeleaf.org">
|
||||||
|
<head>
|
||||||
|
<title>Thymeleaf Variables</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<div th:each="article : ${articles}">
|
||||||
|
<a th:text="${article.name}" th:href="${article.url}"></a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div th:with="firstArticle=${articles[0]}">
|
||||||
|
<a th:text="${firstArticle.name}" th:href="${firstArticle.url}"></a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div th:each="article : ${articles}" , th:with="articleName=${article.name}">
|
||||||
|
<a th:text="${articleName}" th:href="${article.url}"></a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div th:each="article : ${articles}" th:with="articleName=${article.name}, articleUrl=${article.url}">
|
||||||
|
<a th:text="${articleName}" th:href="${articleUrl}"></a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="firstDiv" th:with="firstArticle=${articles[0]}">
|
||||||
|
<a th:text="${firstArticle.name}" th:href="${firstArticle.url}"></a>
|
||||||
|
</div>
|
||||||
|
<div id="secondDiv">
|
||||||
|
<h2 th:text="${firstArticle.name}"></h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="mainDiv" th:with="articles = ${ { articles[0], articles[1] } }">
|
||||||
|
<div th:each="article : ${articles}">
|
||||||
|
<a th:text="${article.name}" th:href="${article.url}"></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in New Issue