강의/Java Spring Boot

todolist 만들기

studylida 2025. 1. 26. 03:16

sayHello.jsp, login.jsp 대충 어떻게 해야 하는지 알았을테니 이제 본격적으로 투두리스트를 만들어 것이다.

 

언제나 그랬듯이 todo 패키지를 만들고 안에 todo 관련된 모조리 쑤셔넣는다.

 

Todo.java, TodoController.java, TodoService.java 이렇게 가지 파일을 만들어볼 건데, Todo TodoService 먼저 만들어보자.

 

Todo에는 id, username, description, targetDate, done 이렇게 가지 멤버변수를 가지고 있다고 하자.

 

```

public class Todo {

 

private int id;

private String username;

private String description;

private LocalDate targetDate;

private bool done;

 

// IDE 기능으로 생성자, 게터, 그리고 세터 생성

}

```

 

그리고 Todo 기반으로 TodoService 만들어보자.

 

```

public class TodoService {

private static List<Todo> todos = new ArrayList<>();

static {

todos.add(new Todo(1, "in28minutes", "Learn AWS", LocalDate.now().plusYear(1), false));

todos.add(new Todo(2, "in28minutes", "Learn DevOps", LocalDate.now().plusYear(1), false));

todos.add(new Todo(3, "in28minutes", "Learn Full Stack Development", LocalDate.now().plusYear(1), false));

}

 

public List<Todo> findByUsername(String username) {

return todos;

}

}

```

 

이제 TodoController 작성해보자. 투두리스트 페이지 url list-todo 가정하자.

 

```

@Controller
public class TodoController {

 

@RequestMapping("list-todo")

public String listAllTodos() {

return "listTodos";

}

}

```

 

오류 나는 일이 없도록 listTodos.jsp 만들어보자.

 

```

<html>

<head>

<title>List Todos Page</title>

</head>

<body>

<div>Welcome~!</div>

<div>Your todos are ${todos}</div>

 

</body>

</html>

```

 

이제 todos 채워서 jsp 보내자. 이전처럼 로직은 service 작성할 것이다.

 

```

@Controller
public class TodoController {

 

public TodoController(TodoService todoService) {

super();

this.todoService = todoService;

}

 

@RequestMapping("list-todo")

public String listAllTodos(ModelMap model) {

 

List<Todo> todos = todoService.findByUsername("in28minutes");

model.addAttribute("todos", todos);

 

return "listTodos";

}

}

 

```

 

'강의 > Java Spring Boot' 카테고리의 다른 글

JSTL 활용해서 todo 표시하기  (0) 2025.01.26
세션, 모델, 그리고 요청 - @SessionAttributes  (0) 2025.01.26
로그인 양식 만들기  (0) 2025.01.26
Spring MVC 작동원리  (0) 2025.01.26
JSP 시작하기  (0) 2025.01.26