首页 > 代码库 > Express之ejs模板
Express之ejs模板
ejs是Embedded JavaScript的简写
1.创建一个ejs模板
var ejs = require(‘ejs‘); var template = ‘<%= message %>‘; var context = {message: ‘Hello template!‘}; console.log(ejs.render(template, context));
通过ejs.render(template, data)就可以将数据传递给模板,从而渲染展示出页面
需要注意的是:data变量名是自定义的,但是不可以使用:cache,filename,scope,debug,compileDebug,client,open,close这些名称
这些名称是模板引擎设置相关的保留值
2.字符转义:ejs.render()传递数据时会将一些特定的字符进行转义,以防止脚本攻击
var ejs = require(‘ejs‘); var template = ‘<%= message %>‘; var context = {message: "<script>alert(‘XSS attack!‘);</script>"}; console.log(ejs.render(template, context));
打印结果
<script>alert(‘XSS attack!‘);</script>
另:如果你确定传递的数据是可信的,则可以在模板标签中用<%-替代<%=,这样ejs就不会将特定的字符进行转义了
var ejs = require(‘ejs‘); var template = ‘<%- message %>‘; var context = { message: "<script>alert(‘Trusted JavaScript!‘);</script>"}; } console.log(ejs.render(template, context));
这样alert的弹窗效果就出来了
3.自定义ejs模板的标签符号
var ejs = require(‘ejs‘); ejs.open = ‘{{‘ ejs.close = ‘}}‘ var template = ‘{{= message }}‘; var context = {message: ‘Hello template!‘}; console.log(ejs.render(template, context));
Express之ejs模板
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。