Lifesoft

MemoController.java

코드 1
package com.example.memo;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class MemoController {

@Autowired
private MemoDAO memoDao;

@GetMapping("/")
public String list(Model model) {
List<Map<String, Object>> memos = memoDao.list();
model.addAttribute("memos", memos);
return "list";
}

@GetMapping("/write")
public String write() {
return "write";
}

@PostMapping("/insert")
public String insert(@RequestParam Map<String, Object> memo) {
memoDao.insert(memo);
return "redirect:/";
}

@GetMapping("/edit/{id}")
public String edit(@PathVariable(name = "id") int id, Model model) {
Map<String, Object> memo = memoDao.detail(id);
model.addAttribute("memo", memo);
return "edit";
}

@PostMapping("/update")
public String update(@RequestParam Map<String, Object> memo) {
memoDao.update(memo);
return "redirect:/";
}

@GetMapping("/delete/{id}")
public String delete(@PathVariable(name = "id") int id) {
memoDao.delete(id);
return "redirect:/";
}

@RequestMapping("/search")
public String list(@RequestParam(name = "keyword", defaultValue = "") String keyword, Model model) {
List<Map<String, Object>> memos = memoDao.search("%" + keyword + "%");
model.addAttribute("memos", memos);
model.addAttribute("keyword", keyword);
return "list";
}
}