Skip to content

Commit ef9b552

Browse files
committed
Learned about fragments
1 parent 8219dea commit ef9b552

5 files changed

Lines changed: 54 additions & 14 deletions

File tree

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package org.launchcode.codingevents.controllers;
22

33
import org.springframework.stereotype.Controller;
4-
import org.springframework.web.bind.annotation.GetMapping;
5-
import org.springframework.web.bind.annotation.RequestMapping;
4+
import org.springframework.web.bind.annotation.*;
65
import org.springframework.ui.Model;
76

87
import java.util.ArrayList;
@@ -12,18 +11,26 @@
1211
* Created by Chris Bay
1312
*/
1413
@Controller
15-
@RequestMapping("events")
14+
@RequestMapping("/events")
1615
public class EventController {
1716

17+
private static List<String> events = new ArrayList<>();
18+
1819
@GetMapping
1920
public String displayAllEvents(Model model) {
20-
List<String> events = new ArrayList<>();
21-
events.add("Code With Pride");
22-
events.add("Strange Loop");
23-
events.add("Apple WWDC");
24-
events.add("SpringOne Platform");
2521
model.addAttribute("events", events);
26-
return "events/index";
22+
return "/events/index";
23+
}
24+
25+
@GetMapping("/create")
26+
public String displayCreateEventForm() {
27+
return "events/create";
28+
}
29+
30+
@PostMapping("/create")
31+
public String createEvent(@RequestParam String eventName) {
32+
events.add(eventName);
33+
return "redirect:/events";
2734
}
2835

2936
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<!DOCTYPE html>
2+
<html lang="en" xmlns:th="https://www.thymeleaf.org">
3+
<head>
4+
<meta charset="UTF-8"/>
5+
<title>Create Event</title>
6+
</head>
7+
<body>
8+
<h1>Create Event</h1>
9+
10+
<nav th:replace="~{fragments :: navigation}"></nav>
11+
12+
<form method="post" >
13+
<input type="text" name="eventName">
14+
<input type="submit" value="Create Event">
15+
</form>
16+
</body>
17+
</html>

src/main/resources/templates/events/index.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88

99
<h1>All Events</h1>
1010

11+
<nav th:replace="~{fragments :: navigation}"></nav>
12+
13+
<p th:unless="${events} and ${events.size()}">No events!</p>
14+
1115
<ul>
1216
<th:block th:each="event : ${events}">
1317
<li th:text="${event}"></li>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<!DOCTYPE html>
2+
<html lang="en" xmlns:th="https://www.thymeleaf.org">
3+
<head>
4+
<meta charset="UTF-8"/>
5+
<title></title>
6+
</head>
7+
<body>
8+
9+
10+
<nav th:fragment="navigation">
11+
<ul>
12+
<li><a href="/events">All Events</a></li>
13+
<li><a href="/events/create">Create Event</a></li>
14+
</ul>
15+
</body>
16+
</html>

src/main/resources/templates/index.html

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,7 @@
88

99
<h1>Coding Events</h1>
1010

11-
<nav>
12-
<ul>
13-
<li><a href="/events">All Events</a></li>
14-
</ul>
15-
</nav>
11+
<nav th:replace="~{fragments :: navigation}"></nav>
1612

1713
</body>
1814
</html>

0 commit comments

Comments
 (0)