Lua admin后台开发 (6) 模板引擎的使用

上一章节我们初步了解了如何使用模板引擎, 现在我们深入了解模板引擎.

什么是模板引擎

“模板引擎(这里指Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的.”

“模板引擎提供特定的格式与语法, 以此为依据将模板转换为标准HTML文档.”

模板引擎的适用场景

适合服务端后台开发者.

Lua 模板引擎

admin.view库中的template方法实则为template库中的compile方法的引用, 这个方法返回一个函数, 调用返回的函数将会编译模板.

1. 基础语法
  • { { Lua Expression }} - Lua Expression是一段lua表达式; 作用为输出表达式的结果, 一些特殊符号将会被转义;

  • {* Lua Expression *} - Lua Expression是一段lua表达式; 作用为输出表达式的结果, 不会转义任何符号;

  • {% Lua code %} - 执行一段Lua代码, 如: {% for i = x, y do %} ... {% end %};

  • {# comments #} - comments仅作为注释, 不会包含在输出字符串内. 这段语法的作用类似lua内的----[[]];

  • {( template )} - 导入其它模板文件, 并且支持传参: {("file.html", { message = "Hello, World" })};

  • {-raw-} ... {-raw-} - 定义在两端之中的内容将不会做任何处理.

2. 转义字符

这里列出了可能被转义的字符:

  • & 将会转义为 &

  • < 将会转义为 &lt;

  • > 将会转义为 &gt;

  • " 将会转义为 &quot;

  • ' 将会转义为 &#39;

  • / 将会转义为 &#47;

实战

实战以简单为主. 本章设计到内容主要为深入模板, 代码不会映射到其它章节中.

1. 字段展示

业务模型: 在页面上列出水果糖的个人信息.

<!-- view/userinfo.html -->
<!DOCTYPE html>
<html>
<head>
  <title>{*title*}</title>
</head>
<body>
  <h1 align="center">{*title*}</h1>
  <p>姓名: {*name*}</p>
  <p>性别: {*sex*}</p>
  <p>年龄: {*age*}</p>
  <p>身高: {*height*}</p>
  <p>婚姻: {*marriage*}</p>
</body>
</html>
local httpd = require "httpd"
local app = httpd:new("http")

local view = require "admin.view"

app:use("/user", function(content)
  return view.template("view/books.html") {
   
    title = "水果糖的个人信息",
    name = "水果糖",
    sex = "男",
    age = 29,
    height = "176cm",
    marriage = "已婚"
  }
end)

app:static
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值