2024-02-01 (39일차) - JSTL, Model, JSP화면구성(list, detail), 수정/삭제 권한

·2024년 2월 1일

📅 2024-02-01, 39일차


TODO

[추가로 한 것]

  • 스프링 model 객체 구글링

[프로그래머스]

  • 문제풀이
  • 벨로그에 정리

[Spring_AM] 
강의다시보고 로직이해하기

  • 작업 38, JSP로 Article List 구현, jstl 설정 (90%)
  • 작업 39, 공통 css, js 적용, head,foot.jspf 적용, 폰트 적용 (90%)
  • 작업 40, 레이아웃 수정 및 폰트 변경 (0% 주말로 미룸)
  • 작업 41, 상세페이지 구현 (95%)
  • 작업 42, 상세페이지에 수정,삭제 버튼 추가 (95%)
  • 작업 43, user가 해당 게시물을 수정할 수 있는지 여부에 따라서 버튼 표시를 판단 (70%)
  • 작업 44, user가 해당 게시물을 삭제할 수 있는지 여부에 따라서 버튼 표시를 판단, doDelete 방식 수정 (70%)

[나중에 할 것 ]

  • 깃허브 클론
  • 눈누 <폰트적용>사이트
  • 뤼튼 / chatgpt
  • 작업 40 다시보기
  • 프롬프트 지니 (ChatGPT 자동 번역기) -> 필요하면 설치

JSTL (JSP Standard Tag Library)

  • JSP의 기본 태그가 아닌, JSP 확장태그
  • 반복, 조건 로직이나 formatting 작업, XML문서, SQL 태그의 조작을 위한 HTML태그에 사용됨
<c:forEach var="article" items="${articles }">
${article.id}
</c:forEach>
  • '자바의 articles 리스트 요소의 갯수만은 반복순회하면서 article이라는 변수에 담고, article.id를 다 보여주겠다' 라는 의미
  • 자바 for-each HTML버전같다

Spring Model 객체

  • Controller의 메서드는 Model 타입의 객체를 파라미터로 받을 수 있음
  • JSP Servlet으로 웹 어플리케이션을 만들 때 보통 request나 session 내장객체에 정보를 담아 jsp에 넘겨줬지만, Spring에서는 Model을 사용
  • Model의 .addAttribute()를 통해 view에 전달할 데이터를 저장
  • Servlet의 request.setAttribute()와 비슷한 역할
  • 스프링이 지원하는 기능으로써, key와 value로 이루어져있는 HashMap

JSP 화면구성(list, detail), 수정/삭제 권한

요구사항

게시물 리스트 o
상세페이지 제작 o

  • 작성자의 이름(닉네임표시) o
  • 수정/삭제버튼 추가 o
    • 권한이 있을 때만 버튼 표시 x
  • 클릭으로 수정/삭제 처리 x
  • 로그인 o
  • 로그아웃 o

내 생각의 흐름

수정/삭제버튼

  • 권한이 있을 때만 버튼 표시
  • session정보를 jsp로 보내야하지않나?

로그인

  • 로그인 아이디 비번 입력 하면
    어디에 입력? 당장 입력하는 칸을 만들지 않았으니 기존에 했던거처럼
    url에 파라미터로 적어주기 o
    입력 후 home/main으로 돌아가게 해주기 -> o
  • 클래스를 String으로 바꾼 후 빨간줄 뜨는거 다 주석 처리해버리니까 중복로그인이나 비밀번호 틀려도 로그인이 가능해짐;;;
  • 빨간줄 뜨는것들의 리턴을 String값으로 바꿔주니 기능도 잘 됨!
  • "이미로그인상태입니다" 기능만 디폴트처럼 작동 함. 다른 에러는 안나오네..
  • 일단.... "이미로그인상태입니다" 주석처리하니까 다른 건 잘 됨 ㅋㅋㅋ

로그아웃

  • 로그아웃 버튼도 마찬가지로 클릭하면 home/main으로 돌아가게해주기o
profile
hello world

0개의 댓글