[Spring Boot, HTML] JPA + View 출력

Ik·2023년 1월 27일
0

Back

목록 보기
14/33

html0을 통해 구조와 연결을 확인했고 JPA를 이용해 View에서 DB까지 개발을 목적으로 진행한다






Git

진행하며

Controller에 관해

  • jpa1을 기반으로 로직을 짜려했지만 jpa1의 경우는 @RestController로 진행해 Controller에서 어떻게 .html로 이동할까 의문이었다

  • 애초에 @Controller는 View 형식을 사용하는 것이 목적이고 @RestController의 경우 json, xml file return 목적이기에 @Controller로 수정해서 진행

@RestController에서 View?

  • 하지만 수정하기 이전에 @RestController를 사용했을 때 .html로 넘어가기 위해서는 ModelAndView 객체를 사용해야 하는 것을 알 수 있었다


form tag에서 put, delete?

  • 앞서 언급했던 것 처럼 jpa1을 기반으로 View를 이용해 CRUD Operation을 진행하는데 있어 form tag는 get, post 두가지 방법만 지원하기에 put, delete method 호출하는데 문제 존재

  • 찾아본 결과 form tag 바로 밑에 <input type="hidden" name="_method" value="PUT"/>을 기입해 개선하려했지만 왠지 모르게 정상 작동하지 않았고 이유는 application.propertiesspring.mvc.hiddenmethod.filter.enabled=true설정을 추가하지 않았기 때문이었다
    • spring 2.2버전 이상부터는 자동으로 구성되지 않는다고 한다(나의 경우는 아마 2.7.8)


HTML read 작업 관련

  • DB 조회한 내용들을 HTML 상에서 어떻게 표현했는지 기억이 나질 않아 찾아봤다

  • Model, ModelAndView 모두 객체를 return하는 공통점

  • 차이점으로는 Model은 객체만을 ModelAndView는 객체 + View page file 이름까지 return한다

ModelAndView 객체 운영 관련

ModelAndView code

  • 처음 객체를 조회하고 id = value 형태로 저장된 경우
  • List 전체를 한번에 peoples 객체에 id = value 라는 이름으로 저장
    체크 : ModelAndView [view="allSearch.html"; model={peoples=[Peoples(id=3, name=변변경익제), Peoples(id=4, name=해익제), Peoples(id=5, name=뉴익제), Peoples(id=6, name="재교체익제"), Peoples(id=7, name=1234), Peoples(id=8, name=기미기미), Peoples(id=9, name=앗살라익제), Peoples(id=10, name=성공익제)]}]
  • model이라는 객체 안에 id = value의 형태로 저장되는 것과 model 안에 peoples이라는 객체의 id = value 형태로 저장
  • 아래와 같은 형태로 html 표기를 할때 id = value 형태로 진행한 경우 html 상에서 조회를 어떻게 해야되는지 한참 찾았지만 찾지 못했고 peoples라는 이름으로 객체를 저장한 경우 name으로 조회 가능했다

html code

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<span th:text="${peoples}"></span> 
	<br><br><br><br>
</div>
</body>
</html>

결과








View

초기 화면

조회 결과

  • 첫번째는 객체를 한번에 출력, 두번째는 객체 안의 내용 순차적으로 출력





ref

0개의 댓글