00:00
好了,那么接下来我们再来了解一下这个op的模板引擎,那么在有了这个模板引擎之后呢,再结合我们之前去访问,呃,数据源,再加上业务逻辑,这就形成了MVC3板斧,那么我们就可以在op s这套环境里边呢去开发自己想要的应用了。Al的模板引擎啊,这个属于呃,第三方的这个插件,但也是aletity提供出来的。啊,这是它的这个,呃,这个这个官方的GI,我们打开看一下。这套膜板引擎啊,相对来说比较复杂,而且实现的功能呢也是比较全面的,它已经和我们之前用的这个像JSP啊,或者是s lef这种膜引擎呢很类似了啊,它在功能上呢也是比较强大,大家可以从文档上看出来,这里边的功能呢非常非常的多,那我们给大家先举一个简单的例子,我们先看看这模板引擎怎么去使用啊。首先呢,第一件事儿呢,先得去搞一个模板出来,然后在这个文档里呢,给大家记得比较多啊,课后同学们可以自己去看啊,先搞一个文档出来,然后先搞一个模板出来,然后接下来呢,我们去拿数据,去填充模板里的这些标签啊,然后去替换这些内容,到最终展示静态页面给我们的前端用户,然后在这个。
01:20
嗯,我们的这个,嗯。Often re的这个目录下呢,呃,我们先搞一个这个模板的目录,然后在这里边呢。TPL去存放我们这些模板文件,然后在这儿新建一个。叫view.html。然后接下来让他去这去找这个模板,然后这有一个简单的模板样例啊,就里边就有一个标签叫message。我把它写进去。写进去之后呢,要让NS或者让知道我们的模板它在哪啊,这里边呢,有这么一项配置,在N里去配置这个complete root啊,或者还有其他的方式可以去设置,我们现在先用这种方式。
02:09
嗯,注意这是在你使用的那个location下去配置,我们现在呢,还是在这个Lu下,然后加这么一行set这么一个变量叫temp root,那这个open ST在使用模板的时候就会读取这个变量,去这个目录下去找。呃,咱们的这个模板文件。然后记得把这个目录给改一下。User local open t t。那OK,那这是准备工作,我们已经做好了,那接下来呢,把这模板引擎啊,我们得把它给它给安装上。现在是没有这个默认情况下,这个发行版里是没有这个包的,在这release这儿还是然后去找它这个最新版本,然后下载好之后呢,我们给它解压缩传上去,然后给它传到哪儿呢?传到。这乱篱巴下。这是已经我之前下载好的,我们把它给传上去,传上去之后解压缩啊。
03:03
嗯。CD user open re。在努安利吧。我解开。解开之后呢,我们看一下它这个目录。在这里Li下rest下,把这两个东西呢给它给挪到,呃,咱们的这个乱lib的rested的目录下,这么挪也可以。往上一层一层的挪。和这个1TEMPLATE目录和一个template点文件。然后这儿呢,这两个,然后给它。扔到这个rest下。然后这些就没用了,给它删掉。
04:03
这就有template的这个目录和这个template这案了,那么结结合我们刚刚的这个简单的呃模板,然后我们来测试一下。呃,NG呢,我们已经,呃不是这个这个配置文件这儿,呃目录呢,我已经这个配置好了,接下来就写一下这个撸R文件在这儿呢,再换一个TPL吧,第二。然后我们在这儿。新建一个。TP点一。然后在这里边呢,呃,去渲染这个我们的这个模板,然后拿一些数据在这儿呢,我们先找一个例子。嗯,我们看看就用这个吧。View的message view去render啊,Render就是去渲染,然后temp.new这指向我们的这个模板。
05:05
呃,具体的这个文件,然后quiry我们的这个,呃,模板引擎的这个包,然后保存一下,看看好使不好使。接下来去。重启一下。然后启动。OK,然后访问一下。问情。192这个诶走诶大家看,Hello味都出来了。那么简单的去看一下它这个过程啊,我们这儿有一个模板文件,模板文件里边定义了一个变量叫message message呢写的是hello word,这是一个字符串,然后调用view的render,然后让它去渲染。用这个模板文件,模板的文件是view.html这个view.html里边呢,内容呢比较简单。
06:04
我们再打开看一下。呃,这PPL。这是这个,呃,模板,模板里边包含普通的HTML的这个文本和这个一个标签,用两个括号标记,然后这里边呢,加上这个名称,这就是一个标签,然后让他去替换具体哪个标签,然后在这儿view,在模板里的message这个变量,这个标签呢,它的值是hello word,然后在这呢就把它给替换成功了,这是最基本最基础的使用方法。呃,这个模板引擎啊,还不只是这么简单,我们还可以,呃,这个增加额外的这好多的这个配置,让它变得呃我们的页面更复杂一些,因为我们在企业当中如果真的要开发一些这个前端去展示的东西的话,肯定没有这么简单,对吧。我在这儿啊,给大家再整一个稍微复杂一点的例子。
07:03
我们直接进入最后一步。这是一个相对来说比较复杂一点的模板,能把它给替换掉。来保存,然后上边这个是给它赋值的操作,然后把它复制出来。然后给他,给他也替换掉。然后保存,然后看,先看一下这个效果,然后咱们再带着大家来解读和学习。刷新。首先哎,他给我弹出了一个一对吧,然后点一下确定。然后这边呢,上边是header,下边是福特,我们来看一下这个模板。用这种方式去扩啊,上边有一个header,这表示引入另外一个模板文件,然后下边也是有一个header,有一个footer,它现在是没找到这两个模板文件,所以直接把这个呃,这个原始的值给我打出来了,那么在这啊,再新建两个文件,这就可以做这个文件套用了啊一些这个不成不成改变的这些这个头和尾是吧,然后这header.h天L。
08:12
然后再来一个福特。点HTML。然后在这儿呢,嗯。你你写点写点这个东西出来,就是福特,嗯,Copy right,然后嗯2022上硅谷啊,一般都是福特里的内容是吧,然后这个header。然后这呢,也给它加一个H1分隔一下,这里是这个。导航啊,保存。然后再刷新。上边导航,然后下边copyright也都有了,这个样式呢,有点难看,我们先不管它啊,这是。
09:06
得。这个标签引起的应该是不重要。那我们现在这个header和这个福特已经能正常显示了,咱们再接下来看这些代码。在body里边呢,这里边儿有转移的输出变量和不转移的输出变量,你看这个姓名,呃,这是呃,我们之前在。我们的RR文件里边给它设置了值是吧?嗯,你看这边是。String。第二,Upper。Case,然后name这这个Java里边也有upper case这缩写就是upper,把它变成大写。然后name呢,在这儿,这就是Lucy啊,这是这是直接把它展示出来了,然后下边第一个介绍呢,Description,你看第一个介绍是直接把javascript给我打出来了,以这个呃,标准的字符串的格式输出出来的,然后第二个description呢,它没有显示,而是把这段javascript给执行了。
10:08
还是这个ALERT1,这是我们在刷新的时候,刚开始他会给我们谈一个这个alert,这个警告。如果要是大括号加星号,那这就属于去,这就属于是这种不转移,而是直接把这个代码内嵌在HTML页面里,当去解析这个HTML页面的时候呢,它就会去执行这个呃,这个这个javascript命令啊,这样两个括号呢,就会把它给转移一下,转成纯粹的字符串,而不会被去,而而不会去这个这个被执行。呃,额外它可以做去做一些加减乘除的运,这个运算基本的,比如age呢,我们在这边。给他的这个,呃,数据呢是40对吧,那展示出来是50啊,就是在这儿呢加十了。然后这个循环我们看一下。这个爱好啊。这hobby这里边呢,有三个电影,音乐和阅读是吧,我们来看看这段代码。
11:07
呃,首先一个for循环啊,以这个所有的所有这个和代码相关的,他也能够内嵌进来一个这个带分号开头有点像JSP的写法,然后for I,然后v in Paris,这就是在这个lua语言里边写这个for循环的这种写法,然后。啊,把这个我们这个集合扔进去,或者叫table扔进去,然后do do啥呢。呃,If v等于电影,然后then,然后我把它给这个,这个改成输出成叉叉O,然后如果不是的话,Else大家看,然后加一个这个。啊加一个横杠,然后呢,直接输出这个V啊具体这个VALUE6是啥,直接就给它给输出出来,然后最后是and,那最后执行的结果就是叉音乐和阅读,那把电影呢给它给替换掉了,这里边是一个呃简单的逻辑判断啊,在这个中间呢,可以替换成原声的这个内容啊,不是这个呃,每一个这个字符串的都需要用这个呃代码去输出的。
12:16
只要不在这个百分号的括号里边,我们就可以去输出原生的内容啊,这是最基本的循环,然后看这个相对来说比较复杂一点的循环。我们把它分成几行再看,首先这个local I呢,我们先不看啊,先看这啊。K还是这个建值对的,这是以建值对的形式了啊,这前面是一个数组,这边就是一个map了,K in Paris,然后soccer。这儿呢,呃,是第一个这个成绩,语文等于90,数学等于80。英语等于70,然后接下来呢,这我们也先不看,然后T和V啊,这map呢,就直接就是可以这么输出出来了。中间呢用等号分隔。
13:01
然后输出出来就是英语等于70。呃,英语。怎么等于70不是英语等于啊,这呢啊,看看这行了,英语等于70没问题,然后数学等于80,语文等于90是吧?这是第一个,这个成绩就这这个位置,这是第一次简单的循环,那么前面这个local I这是干啥?它可以参与到我们这个for循环里啊,以它为一个变量,Local I呢,刚开始我让它等于一,然后如果I大于一,在这儿呢,加一个逗号,意思就是呢,我刚开始去展示第一个的时候,就是英语等于70。啊,那这会儿刚开始第一次循环,I等于一,那那这会儿的I呢,它不大于一对吧?啊,所以这这个if呢,它进不来,那第二个。这这个循环的时候,由于在这儿呢,执行了I加一操作,所以第二次循环的时候,I就变成二了,对吧,那这会儿二大于一,那接下来在这加一个逗号,这就是在这中间加逗号的这么一个操作啊,就是刚开始第一个在开头的时候不加逗号,这个逗号是和后边的语文等于90相连的,然后逗号数学等于80相连。
14:12
直接输出完了,最后也不会加逗号啊,这是I是这个I是判断这个坐标是不是加这个逗号风格的啊。这是这个,呃,基本的这个map的输出,然后下边这儿还有。呃,另外一个啊,这种写法呢,呃和只是和上面的写法不一样,它有这个下标啊,用下标的方式去取,呃,这个数组啊,然后一行一行的去取这个数据啊,这有点像这个Jason去取数据了,对吧,先循环第一层,然后拿出下标,一个两个三个。然后拿到之后呢,也是加逗号的操作啊。啊,这是一个table的结构啊,这是一个table的结构,有点像这个Jason的,有点像Jason啊,先一行一行的去。拿出来数据以这个I为这个下标,I会呃做这个自增啊,然后去取出来之后呢,再拿拿到每一行数据去取它的点name啊,点soer这边呢,是直接是把K和Y6给他给取出来了,这样就比较适合多值去取,比如说啊,咱们从数据库里去查数据啊,这样就可以呃他他就可以用这种方式去取。
15:22
然后我们再看下边这个呢。呃,用这个大括号中间加肉啊,给它给包起来的内容。这个呢,压根儿就让他不解析了啊,这属于。直接让他去以这种原始的这种格式去输出,所以呢,最后呢,就输出了这么个东西啊。啊,这就是他是膜拜引擎啊,膜拜引擎这个东西呢。嗯,功能呢非常多,所以学起来比较杂,为了不占用大家过多的时间啊,同学们如果真正用到的话,可以去这个看到这个文档,这个文档写的已经很详细了啊,具体怎么具体怎么使用,包括在这儿还有额外的一个这个呃,模板引擎的。
16:06
这个缓存啊,我们现在在调试阶段呢,可以把这模板引擎的缓存给它给先给这个关掉,然后上线之后呢,可以把它给打开啊。如果缓存住之后的话,你改你改这个模板呃,有可能直接输出的时候,它不会发生什么变化啊,这是最基本的这个模板引擎的这个使用啊。
我来说两句