SpringBoot/스파르타 웹개발의 봄 spring

[스파르타 웹개발의 봄 spring] 03.13~14 메모 조회하기 - getMessages 함수

xhaktmchl 2021. 7. 12. 23:02
728x90
반응형

##개발 스펙 확인

  1. 기존 메모 제거하기
  2. GET API 사용해서 메모 목록 불러오기
  3. 메모마다 HTML 만들고 붙이는 함수 만들기

 

## GET API 사용해서 메모 목록 불러오기

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 메모를 불러와서 보여줍니다.
        function getMessages() {
            // 1. 기존 메모 내용을 지웁니다.
            $('#cards-box').empty();
            // 2. 메모 목록을 불러와서 HTML로 붙입니다.
            $.ajax({
                type:'GET',
                url:'/api/memos',
                success: function (response){
                    console.log(response); // 콘솔로 확인
                    for(let i=0;i<response.length;i++){ // 모든 json데이터 가져오기
                        let memo = response[i];
                        let id = memo.id;
                        let username = memo.username;
                        let contents = memo.contents;
                        let modifiedAt = memo.modifiedAt;
                        addHTML(id, username, contents, modifiedAt); // html로 추가
                    }
 
                }
            })
        }
cs

 

 

##Timestamped, Week03Application 수정하기

- Timestamped 에 @Getter 추가

- 메인 함수에 @EnableJpaAuditing // 웹 자바스크립트에서 수정된 시각 감지해서 연결해줌 추가

 

 

##메모 마다 HTML 만들고 붙이는 함수 만들기

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// 메모 하나를 HTML로 만들어서 body 태그 내 원하는 곳에 붙입니다.
        function addHTML(id, username, contents, modifiedAt) {
            // 1. HTML 태그를 만듭니다.
            let tempHtml = `<div id="cards-box" class="area-read">
        <div class="card">// 메모 하나를 HTML로 만들어서 body 태그 내 원하는 곳에 붙입니다.
        function addHTML(id, username, contents, modifiedAt) {
            // 1. HTML 태그를 만듭니다.
            let tempHtml = `<div id="cards-box" class="area-read">
        <div class="card">
            <!-- date/username 영역 -->
            <div class="metadata">
                <div class="date">
                    ${modifiedAt} <!-- 수정시간 변수-->
                </div>
                <div id="${id}-username" class="username">
                    ${username}
                </div>
            </div>
            <!-- contents 조회/수정 영역-->
            <div class="contents">
                <div id="${id}-contents" class="text">
                      ${contents}
                </div>
                <div id="${id}-editarea" class="edit">
                    <textarea id="${id}-textarea" class="te-edit" name="" id="" cols="30" rows="5"></textarea>
                </div>
            </div>
            <!-- 버튼 영역-->
            <div class="footer">
                <img id="${id}-edit" onclick="editPost('${id}')" class="icon-start-edit" src="images/edit.png" alt="">
                <img id="${id}-delete" onclick="deleteOne('${id}')" class="icon-delete" src="images/delete.png" alt="">
                <img id="${id}-submit" onclick="submitEdit('${id}')" class="icon-end-edit" src="images/done.png" alt="">
            </div>
        </div>
    </div>`
            // 2. #cards-box 에 HTML을 붙인다.
            $('#cards-box').append(tempHtml);
        }
            <!-- date/username 영역 -->
            <div class="metadata">
                <div class="date">
                    ${modifiedAt} <!-- 수정시간 변수-->
                </div>
                <div id="${id}-username" class="username">
                    ${username}
                </div>
            </div>
            <!-- contents 조회/수정 영역-->
            <div class="contents">
                <div id="${id}-contents" class="text">
                      ${contents}
                </div>
                <div id="${id}-editarea" class="edit">
                    <textarea id="${id}-textarea" class="te-edit" name="" id="" cols="30" rows="5"></textarea>
                </div>
            </div>
            <!-- 버튼 영역-->
            <div class="footer">
                <img id="${id}-edit" onclick="editPost('${id}')" class="icon-start-edit" src="images/edit.png" alt="">
                <img id="${id}-delete" onclick="deleteOne('${id}')" class="icon-delete" src="images/delete.png" alt="">
                <img id="${id}-submit" onclick="submitEdit('${id}')" class="icon-end-edit" src="images/done.png" alt="">
            </div>
        </div>
    </div>`
            // 2. #cards-box 에 HTML을 붙인다.
            $('#cards-box').append(tempHtml);
        }
cs

 

## getMessages, 메모를 불러와서 웹에 html 추가

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// 메모를 불러와서 보여줍니다.
function getMessages() {
    // 1. 기존 메모 내용을 지웁니다.
    $('#cards-box').empty();
    // 2. 메모 목록을 불러와서 HTML로 붙입니다.
    $.ajax({
        type: 'GET',
        url: '/api/memos',
        success: function (response) {
            for (let i = 0; i < response.length; i++) {
                let message = response[i];
                let id = message['id'];
                let username = message['username'];
                let contents = message['contents'];
                let modifiedAt = message['modifiedAt'];
                addHTML(id, username, contents, modifiedAt);
            }
        }
    })
}
 
// 메모 하나를 HTML로 만들어서 body 태그 내 원하는 곳에 붙입니다.
function addHTML(id, username, contents, modifiedAt) {
    // 1. HTML 태그를 만듭니다.
    let tempHtml = `<div class="card">
        <!-- date/username 영역 -->
        <div class="metadata">
            <div class="date">
                ${modifiedAt}
            </div>
            <div id="${id}-username" class="username">
                ${username}
            </div>
        </div>
        <!-- contents 조회/수정 영역-->
        <div class="contents">
            <div id="${id}-contents" class="text">
                ${contents}
            </div>
            <div id="${id}-editarea" class="edit">
                <textarea id="${id}-textarea" class="te-edit" name="" id="" cols="30" rows="5"></textarea>
            </div>
        </div>
        <!-- 버튼 영역-->
        <div class="footer">
            <img id="${id}-edit" class="icon-start-edit" src="images/edit.png" alt="" onclick="editPost('${id}')">
            <img id="${id}-delete" class="icon-delete" src="images/delete.png" alt="" onclick="deleteOne('${id}')">
            <img id="${id}-submit" class="icon-end-edit" src="images/done.png" alt="" onclick="submitEdit('${id}')">
        </div>
    </div>`;
    // 2. #cards-box 에 HTML을 붙인다.
    $('#cards-box').append(tempHtml);
}
cs
반응형
댓글수0