日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

express框架通過ejs模板渲染輸出頁面實例分析

瀏覽:206日期:2022-06-09 15:29:24

1、前言

  上一節(jié)的get請求中,處理函數通過res.send返回了一段html代碼,這讓我們很興奮。我們終于可以給用戶返回html頁面了。
  當時例子是這么寫的,只要在send中傳入一些html格式的字符串即可。

// get routerrouter.get("/", function(req, res, next) {    res.send("<p>這是get請求/system返回的資源</p>")});

  那我問個問題,如果我想返回給用戶的是一張學生的成績信息怎么辦?其實可以這樣寫:

router.get("/", function(req, res, next) {    res.send("<div>2004年高考成績查詢(張三)</div><table><tr><td>1</td><td>語文</td><td>135</td></tr><tr><td>2</td><td>數學</td><td>131</td></tr><tr><td>3</td><td>英語</td><td>96</td></tr><tr><td>4</td><td>理科綜合</td><td>243</td></tr></table>")});

  這樣也是沒啥毛病吧!但最大的問題來了,一般情況數據都是動態(tài)的從數據庫獲取或計算得來的,在輸出到頁面時字符串的拼接需要通過字符串(如html標簽)和變量組成的。但這樣的拼接工作相當的費勁而且容易出錯,出錯后有時候也不容易排查。
  繞了這么久,終于可以引出本文的主題了——ejs模板。目前,我先只能這么給大家解釋ejs模板是個什么東東吧:

  1. 它的內容是以html標簽為基礎的,只不過加入了一些占位符(如${name})、簡單ejs邏輯(如<% if(…) { %> 等)
  2. 它的后綴名可以定義為.html,但初期請各位記住它的文件后綴名就是.ejs吧
  3. 簡單的json數據 和 ejs模板文件,在res.render方法執(zhí)行后,就能將數據套入到模板中,完成動態(tài)網頁的輸出。

  文字描述內容就到這里,后邊的小節(jié)基本上是以代碼+代碼注釋進行說明,應該是更加容易理解了。

2、創(chuàng)建ejs模板文件

  在views目錄下創(chuàng)建文件,命名為score.ejs,代碼如下:

<!DOCTYPE html><html>  <head>    <title>成績單</title>    <link rel="stylesheet" href="/stylesheets/style.css" />  </head>  <body>    <div><%= year %>年高考成績查詢(張三)</div>    <table><% scores.forEach(function(item,index){ %>    <tr><td><%= index %></td><td><%=item.course %></td><td><%=item.score %></td></tr><% }); %>    </table>  </body></html>

3、修改router文件,通過模板輸出響應內容

  注意,我說的router文件,就是上篇文章中說的system.js哈。找到router.get部分,修改之前是這樣的:

router.get("/", function(req, res, next) {    res.send("<p>這是get請求/system返回的資源</p>")});

修改之后是:

router.get("/", function(req, res, next) {    //準備好的數據,真實的情形是從數據庫中得來的    var data = {year:2004,scores:[    {course:"語文",score: 135    },    {course:"數學",score:131    },    {course:"英語",score:96    },    {course:"理科綜合",score:243    }]    };    //通過模板和數據渲染頁面    res.render("score", data);});

4、就這么簡單,啟動服務,驗證

  預期的結果如下,你搞成功了嗎?

5、補充說明

  是不是覺得成功來得很容易?
  其實不然,你的成功來自于最初你使用了express-generator腳手架,還記得我在快速搭建Express開發(fā)系統 提到的命令:

npx express-generator --view ejs

嗎?它為我們做了多工作,具體表現在以下方面(看圖):

  這兩句分別為我們指定了模板文件存放的路徑,和指定ejs為模板引擎。

6、寫在最后

  其實ejs模板文件中的語法是非常復雜的,例如條件、循環(huán)、html富文本輸出……等,建議需要深入研究的同學可以通過這個鏈接去了解一下。
  在下一篇文章中,我會將本節(jié)的表格美化一下,加上一些bootstrap樣式。因為我在最初前后端同時開發(fā)時,也遇到過一些小問題,所以我想是值得一講的。ok,就到這里,期待下次見。

補充:express.render渲染ejs顯示源碼的問題解決方法

筆者在測試express框架的時候遇到的ejs顯示源碼的問題,檢查之后才發(fā)現在設置response的head的時候,在app.all('*', function(req, res, next)中加了一句res.header("Content-Type", "application/json;charset=utf-8");,將其注釋掉,重啟nodejs服務器,輸入路由后在瀏覽器按快捷鍵Ctrl+F5即可。

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久精品欧美一区| 日韩成人亚洲| 亚洲一区观看| 综合激情网...| 国产精品一区二区三区美女| 国产欧美日韩视频在线| 国产一区二区三区四区| 久久久久一区| 久久国产精品毛片| 国产伦理一区| 国产白浆在线免费观看| 日韩精品水蜜桃| 模特精品在线| 亚欧成人精品| 精品国产亚洲一区二区三区在线| 韩国精品主播一区二区在线观看| 九九综合九九| 7777精品| 日韩毛片视频| 亚洲精品少妇| 国产成人精品一区二区免费看京| 久久激情网站| 97精品资源在线观看| 中文在线中文资源| 久久xxxx| 97精品中文字幕| 免费看精品久久片| 久久精品国产亚洲aⅴ| 日韩电影二区| 蜜臀精品久久久久久蜜臀| 国产精品丝袜在线播放| 三级小说欧洲区亚洲区| 亚洲ab电影| 天堂√中文最新版在线| 亚洲三级观看| 亚洲欧洲美洲av| 日韩和欧美的一区| 久久久久亚洲| 国产调教精品| 亚洲免费一区二区| 首页国产精品| 日韩成人一级| 日韩视频一区二区三区在线播放免费观看| 亚洲精品福利| 蜜臀久久精品| 国产精品玖玖玖在线资源| 99视频一区| 亚洲黄色网址| 国产精品久久| 亚洲免费资源| 久久要要av| 九九99久久精品在免费线bt| 视频在线观看国产精品| 日韩中文在线电影| 久久精品超碰| 中文字幕中文字幕精品| 伊人精品一区| 97在线精品| 国产视频网站一区二区三区| 亚洲免费影视| 欧美精品一区二区三区精品| 国产第一亚洲| 欧美激情视频一区二区三区在线播放| 亚洲一区二区三区中文字幕在线观看| 欧美日韩精品一区二区视频| 国产福利91精品一区二区| 久久狠狠亚洲综合| 亚洲精品成人一区| 热久久免费视频| 亚洲色诱最新| 韩日一区二区三区| 电影亚洲精品噜噜在线观看 | 久久av网站| 日韩高清三区| 日本一不卡视频| 免费在线观看精品| 欧美日韩国产一区精品一区| 久久久久一区| 99精品小视频| 99精品视频精品精品视频| 日韩av在线播放网址| 久久中文欧美| 开心激情综合| 久久精品国产久精国产| 欧美亚洲自偷自偷| 日韩国产在线一| 亚洲精品裸体| 三级久久三级久久久| 中文字幕一区二区三区四区久久| 亚洲一区二区三区四区五区午夜 | 99国产精品99久久久久久粉嫩| 99久久精品国产亚洲精品| 午夜精品久久久久久久久久蜜桃| 中文字幕成在线观看| 特黄毛片在线观看| 99久精品视频在线观看视频| 电影亚洲精品噜噜在线观看| 日韩一区三区| 国产一区久久| 国产亚洲毛片在线| 亚洲精选成人| 国产乱论精品| 精品视频亚洲| 精品免费av在线| 精品一区在线| 蜜臀va亚洲va欧美va天堂| 亚洲人成亚洲精品| 欧美一区不卡| 精品五月天堂| 香蕉成人av| 欧美日韩国产探花| 视频一区二区中文字幕| 日韩午夜视频在线| 欧美国产不卡| 日韩精品免费一区二区在线观看 | 国产精品精品| 久久中文视频| 综合国产精品| 久久精品伊人| 久久中文字幕av| 亚洲另类视频| 久久一区亚洲| 婷婷丁香综合| 亚洲人成精品久久久| 国产精区一区二区| 97精品在线| 每日更新成人在线视频| 日本综合视频| 在线一区av| 亚洲三级在线| 精品一区二区三区免费看| 久久久9色精品国产一区二区三区| 亚洲欧美不卡| 美女精品视频在线| 午夜国产欧美理论在线播放| 婷婷视频一区二区三区| 成人在线免费观看网站| 久久xxxx精品视频| 国产精品一区二区99| 丝袜av一区| 日韩一区二区三区高清在线观看 | 国产免费久久| 国产99久久| 国产欧美激情| 五月综合激情| 美女毛片一区二区三区四区最新中文字幕亚洲 | 欧美在线黄色| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 美女视频免费精品| 夜夜嗨一区二区| 国产在线视频欧美一区| 亚洲欧美日韩国产一区| 精品72久久久久中文字幕| 国产一区91| 久久久久久夜| 久久国产精品免费精品3p| 九九在线精品| 岛国精品一区| 欧美亚洲二区| 国产农村妇女精品一二区| 精品91福利视频| 免费观看在线综合| 亚洲爱爱视频| 国产福利一区二区三区在线播放| 最新国产拍偷乱拍精品| 国内精品麻豆美女在线播放视频| 美女精品网站| 99久久亚洲精品蜜臀| 开心激情综合| 日本午夜精品久久久| 国产高清一区| 欧美精选视频一区二区| 国产精品久久免费视频| 在线观看亚洲精品福利片| 久久亚洲专区| 色偷偷色偷偷色偷偷在线视频| 日韩黄色免费网站| 亚洲欧美视频一区二区三区| 久久久久欧美精品| 国产精品久久久久久久免费观看 | 国产精品v亚洲精品v日韩精品| 先锋影音久久久| 国产精品91一区二区三区| 久草免费在线视频| 国产精品xxxav免费视频| 91精品国产自产在线丝袜啪| 三级一区在线视频先锋| 欧美日韩国产传媒| 日韩不卡在线| 在线看片国产福利你懂的| 久久精品九色| 精品五月天堂| 你懂的国产精品永久在线| 日韩国产成人精品| 亚洲精品亚洲人成在线观看| 免费国产自线拍一欧美视频| 亚洲女同中文字幕| 一区在线免费| 在线亚洲激情| 日韩av一级|