page.thumb.319.319.png 如何在 Adob​​e AEM 中得到解析?

jed*_*atu 1 sling aem

我似乎无法弄清楚 Adob​​e AEM(以前称为 CQ)是如何解析拇指 URL 的。

鉴于以下网址:

/content/geometrixx-outdoors/en.thumb.319.319.png
Run Code Online (Sandbox Code Playgroud)

“en”是对依赖于geometrixx-outdoors/components/page_homesling:resourceType的内容的引用。

“thumb”、“319”和“319”是选择器,但是组件“page_home”没有匹配的jsp(例如thumb.png.jsp)来处理请求。

page_home 继承自geometrixx-outdoors/components/page,而foundation/components/page. 后者调用了一个 jsp,thumbnail.jpg.jsp但这也不匹配。

然后有一个奇怪的目录(即,它不是一个组件)称为/libs/foundation/components/primary/cq/Pagewhere we find thumb.png.jsp. 根据我添加的一些日志记录,此脚本正在参与请求;虽然我不确定如何。它只包含proxy.jsp,其中包含jcr:content 节点。

我怀疑包括 jcr:content 意味着调用:

/content/info-site/en/_jcr_content.thumb.319.319.png
Run Code Online (Sandbox Code Playgroud)

在这一点上,我不清楚会发生什么。似乎必须启动默认的 GET.java 或其他东西。但是,我找不到_jcr_content.png.jsppng.GET.java。有一个类/var/classes/org/apache/jsp/libs/foundation/components/primary/cq/Page/thumb_png_jsp.java看起来可以完成工作,但我不确定它是如何调用的。

编辑:刚刚意识到这/var/classes/org/apache/jsp/libs/foundation/components/primary/cq/Page/thumb_png_jsp.java是上述内容的编译版本,thumb.png.jsp所以我想这是一个死胡同。

san*_*zky 5

它不是通过 jsp 而是通过 com.day.cq.wcm.core.impl.servlets.ThumbnailServlet servlet 组件解决的。

注册此 servlet 以响应 sling/servlet/default 资源类型和拇指选择器。所以它基本上会响应该选择器的任何请求。

您可以在 osgi web 控制台的组件列表中查找它