如何解析 HTL 内容

How to parse HTL content

我正在 AEM using SlingRequestProcessor as the example available here 中加载资源。

我的 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 脚本引擎实现完成的。你永远是processing/loading资源,需要根据Sling resource resolution.

解决

假设您正在尝试加载位于 /content/myapp/mypage.html 且具有 sling:resourceType=myapp/myfile 的资源,您可以将上述代码片段放入 /apps/myapp/myfile/myfile.html 文件中,以便脚本引擎可以执行 HTL。