1

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

给定以下网址:

/content/geometrixx-outdoors/en.thumb.319.319.png

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

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

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

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

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

/content/info-site/en/_jcr_content.thumb.319.319.png

在这一点上,我不清楚会发生什么。似乎默认的 GET.java 必须启动或其他东西。但是,我找不到_jcr_content.png.jspor png.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所以我想这是一个死胡同。

4

1 回答 1

5

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

此 servlet 已注册以响应 sling/servlet/default resourceType 和 thumb 选择器。因此它基本上会使用该选择器响应任何请求。

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

于 2013-05-07T14:11:42.587 回答