기억은 휘발성 메모리

chapter 05.2 Thymeleaf 계속 본문

Program Language/String Boot

chapter 05.2 Thymeleaf 계속

하상엽 2018. 5. 14. 12:51

build tool

1. maven spring boot

2. gradle 안드로이드


페이징 처리 -> 현재 대부분의 웹 익스플로어에서 지원됨.


실습 p263


1. 설계


in html 모든 것은 블록(BOX)으로 생각한다. <div> 인라인을 쓰지 않음

DOM tree -> 전위, 후위, 중위 순회(재귀) (병렬 처리가 불가)


스프링부트에서 외부 라이브러리 파일 불러오기

pom.xml 파일 수정하기 

google -> maven repository 검색 https://mvnrepository.com/(자바 각종 라이브러리)

Thymeleaf Layout Dialect 

검색후 pom.xml 파일에서 dependencies에 추가하기


2.CRUD

C : Create

R : Read

U : Update

D : Delete


부트스트랩(CSS Frame work 종류 : 1.boot strap, 2.material, 3.bulma)


3. p307 새로운 게시물 등록

게시물의 입력과 처리

GET 방식 -> 입력하는 화면

POST 방식 -> 새로운 게시물을 등록하도록 처리(보안 문제)


@Contoller 사용시 return 값 -> html

Controller에 두 개의 메소드 추가하기

@GetMapping

@PostMapping


@Controller

@RequestMapping("/boards/")

public class WebBoardController {


@Autowired

WebBoardRepository repo;

@GetMapping("/register")

public void registerGet(@ModelAttribute("vo") WebBoard vo) {

}

@PostMapping("/register")

public String registerPost(@ModelAttribute("vo") WebBoard vo, RedirectAttributes rttr) {

repo.save(vo);

rttr.addFlashAttribute("msg", "success");

return "rediret:/board/list";

}

}


html 파일 작성


url 경로와 html이름을 일치 시킴

src/main/resources/templates/boards/register.html


<html xmlns:th= "http://www.thymeleaf.org"

    xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"

    layout:decorate="~{/layout/layout1}">

    

    <div layout:fragment="content">

    <div class="panel-heading">Register Page></div>

    <div class="panel-body">

    <form th:action="@{register}" method="post">

    <div class="form-group">

    <label> Title</label> <input class="form-control" name="title"

    th:value="${vo.title}"/>

    <p class="help-block"> Title text here.</p>

    

    </div>

    <div class="form-group">

    <label>Content</label>

    <textarea class ="form-control" rows="3" name='content'

    th:text="${vo.content}"></textarea>

    

    </div>

    <div class="form-group">

    <label>Writer</label> <input class="form-control" name="writer"

    th:value="${vo.writer}"/>

    </div>

    <button type="submit" class="btn btn-default">Submit Button </button>

    <button type="reset" class="btn btn-primary">Reset Button</button>

    </form>

    

    

    </div>

    

    </div>

    <!--  end fragment -->

    <th:block layout:fragment="script">

    <script th:inline="javascript"></script>

    </th:block>

    </html>

'Program Language > String Boot' 카테고리의 다른 글

(Spring Boot) Devtools를 이용한 개발 환경 설정  (0) 2019.05.07
chapter 05. Thymeleaf  (0) 2018.04.30
Comments