我正在使用SlingRequestProcessor
在AEM中加载资源,作为此处可用的示例。
我的page/html文件看起来像:
<div data-sly-use.stepPlanItem="stepPlanItemTemplate.html"
data-sly-call="${stepPlanItem.step @ step = step}"
data-sly-unwrap />
但是,当我调用requestProcessor.processRequest(req, resp, request.getResourceResolver());
时,什么都不会发生。我得到的文件内容完全相同。没有分析任何内容。
我的主要问题是:如何从Java代码中解析狡猾的标记
我应该使用过滤器吗?哪一个?这是一个页面(不是AEM页面(,只是一个HTL片段。
您不需要解析HTL文件,这是由Sling脚本引擎实现完成的。您总是在处理/加载资源,并且需要根据Sling资源解析进行解析。
假设您试图在/content/myapp/mypage.html
加载一个具有sling:resourceType=myapp/myfile
的资源,那么您将把上面的代码片段放在/apps/myapp/myfile/myfile.html
文件中,以便脚本引擎可以执行HTL。