TODAY TOTAL
[Spring] 화면 구현 및 등록 처리

 

영상을 보면서 얼마나 화면구현하는게 오래걸리는지 새삼 실감했다.

부트스트랩이 없었다면 진짜 진짜 오래걸렸을꺼같다.

 

영상도 화면구현이 제일 길다 ㅋㅋ

 

 

include로 헤더와 풋터를 넣었다. 그 이유는 공통적으로 쓰기 때문 view단에 똑같은 코드를 넣을 필요가 없다

 

 

또한 resources 폴더 js,css을 넣는 폴더로 부트스트랩 관련 css,js,html을 넣었주었다.

디자인은 최대한 html 소스를 보며 복사 붙여넣기를 하고 최대한 스프링 전체를 이해하는거에 중점을 두었다.

 

 

<div class="panel-body">
                            <table width="100%" class="table table-striped table-bordered table-hover" >
                                <thead>
                                    <tr>
                                        <th>BNO</th>
                                        <th>Title</th>
                                        <th>writer</th>
                                        <th>RegDate</th>
                                        <th>UpdateDate</th>
                                    </tr>
                                </thead>
                                <tbody>
                                <c:forEach items="${list}" var="board">
                                    <tr class="odd gradeX">
                                        <td>${board.bno }</td>
                                        <td>${board.title }</td>
                                        <td>${board.writer }</td>
                                        <td><fmt:formatDate pattern="yyyy-MM-dd"
						                   value="${board.regdate }" /></td>
						                <td><fmt:formatDate pattern="yyyy-MM-dd"
						                   value="${board.updateDate }" /></td>
                                    </tr>
                                </c:forEach>
                                </tbody>
                            </table>
                            
                        </div>

 

여기서 EL태그나 JSTL(C태그..)를 쓸려면

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

이걸 맨 위쪽에 붙여야한다. 그래야 태그를 쓸 수 있다.

 

c:forEach는 List,배열 요소를 순서대로 반복하는 태그다

 

items엔 BoardController에 있는 키값을 받아와야하는데  키값은 list 그래야 전체 테이블 List를 가져와 반복한다.

var는 변수다 아무렇게 써도 무방 하지만 연관짓는게 좋다.

 

BoardController.java

@GetMapping("/list")
	public void list(Model model) {
		
		log.info("list............");
		
		model.addAttribute("list", service.getList());
	}

 

등록은 보내는방식이 POST이지만 등록 할 화면을 보여주는건 GET방식이여야 한다.

전에 POSTMapping을 한건 실제 게시물의 등록 처리이고 지금 적을 GETMapping은 등록 화면이다.

 

@GetMapping("/register")
	 public void registerGET() {
	 }

 

<div class="panel-body">
                        
                            <form action ="/board/register" method="post"> 
                            
                            <div class="form-group">
                                <label>Title</label>
                                <input class="form-control" name="title">
                            </div>
                            
                            <div class="form-group">
                                <label>Content</label>
                                <textarea class="form-control" rows="5" cols="50" name="content">
                                </textarea>
                            </div>
                            
                            
                            <div class="form-group">
                                <label>Writer</label>
                                <input class="form-control" name="writer">
                            </div>

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

                            </form>
                        </div>

 

 

 

맨 위에 추가된 것을 볼 수 있다.

 

 

  Comments,     Trackbacks