일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바기초
- GIT
- 워게임
- node.js
- 웹해킹
- 웹개발
- 이진트리
- nodeJS
- 그래프
- 써니나타스
- wargame.kr
- bootstrap
- 이진탐색트리
- Express
- MongoDB
- mongoose
- 자바문제풀이
- 워게임추천
- 자바
- gitbash
- NavBar
- 뷰
- 포렌식워게임
- 웹기초
- 웹해킹기초
- CTF
- materialize
- 자료구조
- 포렌식
- node
- Today
- Total
보안 전공생의 공부
EJS 사용하기 본문
※ EJS (Embedded JavaScript) : express에서 dynamic website(동적 웹사이트)를 만들기 위해 template로 사용되는 파일.(확장자: .ejs)
우선, 터미널에서 ejs package를 설치한다.
ejs를 사용하기 위해서는 다음과 같은 코드가 필요하다.
· express의 view engine에 ejs를 set하는 코드
//index.js
app.set('view engine','ejs')//템플릿 엔진
· query를 통해 이름을 받기 위한 코드
//index.js
app.get('/welcome', (req,res)=>{
res.render('welcome', {name:req.query.nameQuery});
}) - req.query에 query들이 저장된다.
· route parameter
//index.js
app.get('/welcome/:nameParam',(req,res)=>{
res.render('welcome', {name:req.params.nameParam});
})
- 콜론(:) 뒤에 입력되는 텍스트가 req.params에 저장된다.
- ejs를 사용하기 위해서는 res.render 함수를 사용해야 한다.
첫 번째 parameter로 ejs 이름을, 두 번째 parameter로 ejs에서 사용될 object를 전달한다.
※ res.render 함수는 ejs를 /views 폴더에서 찾으므로 views 폴더의 이름 변경 X
<!-- views/welcome.ejs -->
<html>
<head>
</head>
<body>
<h1>Hello
<% if(name){ %>
<span class="name"><%= name %>!</span>
<% } else { %>
<span class="stranger">Stranger!</span>
<% } %>
</h1>
</body>
</html>
ejs는 html에 js코드가 더해진 형태이다.
-> 모든 js 코드는 <% %>에 들어가야 한다.
변수를 출력할 때는 <%=(변수명) %>을 사용한다.
위의 코드에서는 name이 있으면 name을 출력하고, name이 없으면 stranger!을 출력한다.
실습
1. http://localhost:3000/welcome 접속 시
2. http://localhost:3000/welcome?nameQuery=suin 접속 시
=> nameQuery 값을 받아서 출력
3. http://localhost:3000/welcome/suin 접속 시
=> route parameter를 받아서 출력