showpost.js
2.09 KB
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
68
69
70
71
var Entities = require('html-entities').AllHtmlEntities;
var express = require('express');
var router = express.Router();
router.get('/:id',function(req,res){
// URL 파라미터로 전달됨
var paramId = req.body.id || req.query.id || req.params.id;
console.log('요청 파라미터 : ' + paramId);
var database = req.app.get('database');
// 데이터베이스 객체가 초기화된 경우
if (database.db) {
// 1. 글 리스트
database.PostModel.load(paramId, function(err, results) {
if (err) {
console.error('게시판 글 조회 중 에러 발생 : ' + err.stack);
res.writeHead('200', {'Content-Type':'text/html;charset=utf8'});
res.write('<h2>게시판 글 조회 중 에러 발생</h2>');
res.write('<p>' + err.stack + '</p>');
res.end();
return;
}
if (results) {
console.dir(results);
res.writeHead('200', {'Content-Type':'text/html;charset=utf8'});
// 뷰 템플레이트를 이용하여 렌더링한 후 전송
var context = {
session:req.session,
title: '글 조회 ',
posts: results,
Entities: Entities
};
req.app.render('showpost.ejs', context, function(err, html) {
if (err) {
console.error('응답 웹문서 생성 중 에러 발생 : ' + err.stack);
res.writeHead('200', {'Content-Type':'text/html;charset=utf8'});
res.write('<h2>응답 웹문서 생성 중 에러 발생</h2>');
res.write('<p>' + err.stack + '</p>');
res.end();
return;
}
res.end(html);
});
} else {
res.writeHead('200', {'Content-Type':'text/html;charset=utf8'});
res.write('<h2>글 조회 실패</h2>');
res.end();
}
});
} else {
res.writeHead('200', {'Content-Type':'text/html;charset=utf8'});
res.write('<h2>데이터베이스 연결 실패</h2>');
res.end();
}
})
module.exports = router;