ejs的页面中有没有和jsp一样的内置对象?
发布于 3年前 作者 hfhwan 1830 次浏览

jsp中有out,page,reqeust等内置对象,ejs的页面中有类似写法吗?

ejs的资料除了 https://github.com/visionmedia/ejs 中的readme意外,有没有其他资料了?

<%= %>和<%- %>的unescape是什么意思?

谢谢。

8 回复

Unbuffered code for conditionals etc <% code %>
不会有缓存的(就是不会生成值的)代码(用来控制逻辑的)
Escapes html by default with <%= code %>
默认转化为 html 的代码
Unescaped buffering with <%- code %>
不转化为 html 且有产生值的代码

个人的理解
仅供参考

在ejs的模版中可以使用的对象有request和response对象。 比如你在session中存储了用户信息user.包含有username和email地址。那么你在模版中可以用一下方法调用:

当前登录用户:<%=request.session.user.username%>
邮件地址:<%=request.session.user.emal%>

Escapes html by default with <%= code %> 默认转化为 html 的代码 这就好比如果这个code中内容如下

<b>你好么</b>

使用<%=code%>时,页面看到就是: <b>你好么</b>

使用<%-code%>时,页面看到就是: 你好么

看到了,今天上线时修复

不知道你说的request和response对象是在哪个环境下提供的?我用的Express框架。 不知道你的信息是从那里获取来的?直接看的源代码吗?

@hfhwan 对的,我就是用的express + ejs的。

@hfhwan 我之前的回答有误导的嫌疑。 你需要自己在控制器之间和视图之间传递req和request对象,并进行上下文之间的对象保持。

您好,运行提示request is not defined session is not defined

回到顶部