aem - currentNode 如何注入(inject)到 CQ5 JSP 文件中?

标签 aem sling

我正在阅读 guides ,在第一个示例中,home.jsp定义为:

<%@page session="false"%>
<%@taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling/1.0"%>
<sling:defineObjects/>

<%@ page import="javax.jcr.Repository,
                   javax.jcr.Session,
                   javax.jcr.SimpleCredentials,
                   javax.jcr.Node,
                   java.net.URLEncoder,
                   java.util.List,
                   java.util.Iterator,
                   javax.jcr.Value,
                   javax.jcr.RepositoryException"%>

<html>
<head> 
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
  <title><%= currentNode.getProperty("title").getString() %></title> 
</head> 
<body> 
  <div>
    <h1><%= currentNode.getProperty("title").getString() %></h1>
    <br>
    <%= currentNode.getProperty("body").getString() %>
  </div>
</body> 
</html>

我以为<sling:defineObjects>注入(inject)currentNode ,但根据tag docs ,事实并非如此。

那么注入(inject)它是什么呢?

最佳答案

你最初的想法是正确的,<sling:defineObjects>实际上确实设置了该值。您链接的标记文档用于描述标记本身的属性(即您可以传递到标记中的值),而不是它设置的值。

如果您查看 DefineObjectsTag here 的代码,你可以看到currentNode是添加到页面上下文的内容之一。

关于aem - currentNode 如何注入(inject)到 CQ5 JSP 文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21717642/

相关文章:

jsp - 如何找到 cq :includeClientLib tag? 将包含的文件

apache - 在 Apache 服务器上运行的 AEM Dispatcher 上缓存视频返回 206

java - 包含 CQ5 组件时无法创建 cq 节点

unit-testing - 模拟 OSGi 上下文中的服务激活异常

amazon-s3 - 将AEM配置为使用S3数据存储时,它将使蓝绿色部署更快吗?

aem - ResourceResolverFactory getServiceResourceResolver 在 AEM 6.1 中引发异常

javascript - 缩小 Angular 不更新模板?

CQ5 中的 Restful URL

aem - 是否可以将变量放入 sling servlet 内的资源路径中?

java - Apache Sling 可恢复上传