@Controller
public class UsrArticleController {
@Autowired
private ArticleService articleService;
// @RequestMapping("/usr/article/getArticle")
// @ResponseBody
// public ResultData
// 로그인 체크 -> 유무 체크 -> 권한 체크 -> 수정
// @RequestMapping("/usr/article/doModify")
// @ResponseBody
// public ResultData
@RequestMapping("/usr/article/doDelete")
@ResponseBody
public String doDelete(HttpSession httpSession, int id) {
boolean isLogined = false;
int loginedMemberId = 0;
if (httpSession.getAttribute("loginedMemberId") != null) {
isLogined = true;
loginedMemberId = (int) httpSession.getAttribute("loginedMemberId");
}
if (isLogined == false) {
return "로그인 하고 써";
}
Article article = articleService.getArticleById(id);
if (article == null) {
return id + "%d번 게시글은 없습니다";
}
if (article.getMemberId() != loginedMemberId) {
return id+"%d번 게시글에 대한 권한이 없습니다";
}
articleService.deleteArticle(id);
return id+"번 게시글을 삭제했습니다";
}
@RequestMapping("/usr/article/doWrite")
@ResponseBody
public ResultData<Article> doWrite(HttpSession httpSession, String title, String body) {
boolean isLogined = false;
int loginedMemberId = 0;
if (httpSession.getAttribute("loginedMemberId") != null) {
isLogined = true;
loginedMemberId = (int) httpSession.getAttribute("loginedMemberId");
}
if (isLogined == false) {
return ResultData.from("F-A", "로그인 하고 써");
}
if (Ut.isEmptyOrNull(title)) {
return ResultData.from("F-1", "제목을 입력해주세요");
}
if (Ut.isEmptyOrNull(body)) {
return ResultData.from("F-2", "내용을 입력해주세요");
}
ResultData writeArticleRd = articleService.writeArticle(loginedMemberId, title, body);
int id = (int) writeArticleRd.getData1();
Article article = articleService.getArticleById(id);
return ResultData.newData(writeArticleRd, "생성된 게시글", article);
}
// @RequestMapping("/usr/article/getArticles")
// @ResponseBody
// public ResultData<List
@RequestMapping("/usr/article/list")
public String showList(HttpSession httpSession, Model model) {
boolean isLogined = false;
int loginedMemberId = 0;
if (httpSession.getAttribute("loginedMemberId") != null) {
isLogined = true;
loginedMemberId = (int) httpSession.getAttribute("loginedMemberId");
}
List<Article> articles = articleService.getArticles();
model.addAttribute("articles", articles);
model.addAttribute("loginedMemberId", loginedMemberId);
return "/usr/article/list";
}
@RequestMapping("/usr/article/detail")
public String getArticle(int id, Model model) {
Article article = articleService.getArticleById(id);
if (article == null) {
return "게시글이 없습니다";
}
model.addAttribute("article", article);
return "/usr/article/detail";
}
@RequestMapping("/usr/article/doModify")
public String doModify(HttpSession httpSession, int id, Model model) {
boolean isLogined = false;
int loginedMemberId = 0;
if (httpSession.getAttribute("loginedMemberId") != null) {
isLogined = true;
loginedMemberId = (int) httpSession.getAttribute("loginedMemberId");
}
if (isLogined == false) {
return "로그인 하고 써";
}
Article article = articleService.getArticleById(id);
if (article == null) {
return id + "%d번 게시글은 없습니다";
}
if (article.getMemberId() != loginedMemberId) {
return id+"%d번 게시글에 대한 권한이 없습니다";
}
model.addAttribute("article", article);
return "/usr/article/modify";
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<button type="button"><a href="../home/main">메인</a></button>
<h2>게시물 상세페이지</h2>
<div>
작성자 : ${article.memberId}</div>
<div>
날짜 :
${article.regDate}</div>
<div>
제목 :
${article.title}</div>
<div>
내용 :
${article.title}</div>
<button type="button">
<a href="list">리스트</a>
</button>
<style type="text/css">
a {
color: red;
text-decoration: none;
}