Todo 새로운 뷰 만들기

Soo·2024년 3월 12일

이번에는 할 일을 추가하는 todo.jsp페이지를 만들겠습니다.

todo.jsp

할 일을 추가하는 페이지입니다.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>
<head>
    <link href="webjars\bootstrap\5.1.3\css\bootstrap.min.css" rel="stylesheet">
    <title>Add Todos Page</title>
</head>
<body>
<div class="container">
    <h1>Enter Todo Details</h1>
    <form method="post">
        Description: <input type="text" name="description"/>
        <input type="submit" class="btn btn-success"/>
    </form>
</div>
<script src="webjars\bootstrap\5.1.3\js\bootstrap.bundle.min.js"></script>
<script src="webjars\jquery\3.6.0\jquery.min.js"></script>
</body>
</html>

TodoController.class

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.SessionAttributes;

import java.util.List;

@Controller
@SessionAttributes("name")
public class TodoController {

    private TodoService todoService;

    public TodoController(TodoService todoService) {
        this.todoService = todoService;
    }

    //list-todos
    @RequestMapping("/list-todos")
    public String listAllTodos(ModelMap model) {
        List<Todo> todos = todoService.findByUsername("test1");
        model.addAttribute("todos", todos);

        return "listTodos";
    }

    @RequestMapping(value = "/add-todo", method = RequestMethod.GET)
    public String showNewTodoPage() {
        return "todo";
    }

    @RequestMapping(value = "/add-todo", method = RequestMethod.POST)
    public String addNewTodo() {
        return "redirect:list-todos";
    }
}

할 일 목록을 보여주는 페이지를 반환하는 showNewTodoPage()와 데이터를 요청 했을 때 응답할 addNewTodo()를 추가합니다.

0개의 댓글