수업 49일차


작업물

git주소


UsrArticleController

@Controller
public class UsrArticleController {

@Autowired
private ArticleService articleService;

// @RequestMapping("/usr/article/getArticle")
// @ResponseBody
// public ResultData

getArticle(int id) {
//
// Article article = articleService.getArticleById(id);
//
// if (article == null) {
// return ResultData.from("F-1", Ut.f("%d번 게시글은 없습니다.", id));
//
// }
//
// return ResultData.from("S-1", Ut.f("%d번 게시글 입니다", id), "게시글 1개", article);
// }

// 로그인 체크 -> 유무 체크 -> 권한 체크 -> 수정

// @RequestMapping("/usr/article/doModify")
// @ResponseBody
// public ResultData

doModify(HttpSession httpSession, int id, 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", "로그인 하고 써");
// }
//
// Article article = articleService.getArticleById(id);
//
// if (article == null) {
// return ResultData.from("F-1", Ut.f("%d번 게시글은 없습니다", id));
// }
//
// ResultData loginedMemberCanModifyRd = articleService.loginedMemberCanModify(loginedMemberId, article);
//
// if (loginedMemberCanModifyRd.isFail()) {
// return loginedMemberCanModifyRd;
// }
//
// articleService.modifyArticle(id, title, body);
//
// article = articleService.getArticleById(id);
//
// return ResultData.from(loginedMemberCanModifyRd.getResultCode(), loginedMemberCanModifyRd.getMsg(), "수정 된 게시글",
// article);
// }

@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

> getArticles() {
// List articles = articleService.getArticles();
// return ResultData.from("S-1", "Article List", "게시글 목록", articles);
// }

@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";
}

}


detail.jsp

<%@ 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;
}


profile
2514 : 이세상에 오직 하나뿐인 사람

0개의 댓글