<% // 이렇게 쓸 수 있는 이유 = 제네릭이 안만들어져서...
List list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
request.setAttribute("list", list);
%>
${fn:length(list) }개의 공지사항이 있습니다.<br>
${fn:length(list) gt 0}
-> true라고 나올 것.
c:choose c:when c:otherwise로 게시판 글 없을 때는 '출력할 데이터가 없습니다.' 출력.
나중에
<div>
로 테이블 그리기 해보기.
row, col... 쓴다고 한다.
관리는 관리자 페이지에서. 사이트 2개 만든다 생각해야
NoticeController.java
//공지 글쓰기 -> admin 관리자 화면에서(이사해야함)
@GetMapping("/admin/noticeWrite") //관리자 화면은 이렇게 할 것
public String noticeWrite() {
return "admin/noticeWrite"; // ....../views/admin/noticeWrite.jsp
}
noticeWrite.jsp (view/admin/ 안에 있다)
action="./admin/noticeWrite"
이렇게 적으면 url이 /admin/admin/noticeWrite가 되는 문제가 있다.
<form action="./noticeWrite" method="post">
<input name="ntitle">
<textarea name="ncontent" id="summernote"></textarea>
<button type="submit">공지 쓰기</button>
</form>
나중에는 action="../noticeWrite"
도 할 것
.은 패키지이름(context) 들어가는 것 때문에 적음.
if - else
//프로그래밍 기법 if() { //많이 걸리는 거 먼저 거르기 //참 } else { //거짓 } //가장 많이 걸리는 거? == 최상단에 올리기. //if else가 많아질수록 더~
Date 포맷팅 진 짜 귀찮다
<c:set var="now" value="<%=new java.util.Date()%>" /><!-- 현재시간 -->
<fmt:parseNumber value="${now.time / (1000*60*60*24)}" integerOnly="true" var="today" /><!-- 현재시간을 숫자로 -->
<fmt:parseNumber value="${row.ndate.time / (1000*60*60*24)}" integerOnly="true" var="nPostDate" /><!-- 게시글 작성날짜를 숫자로 -->
<c:if test="${today - nPostDate le 1 }"><span class="badge">N</span></c:if>
NoticeDTO에서 ndate를 Date로 했다.
오늘 글에 N붙이기 훔치기,,,샤샤샤샥....🥰