2013-05-02 44 views
0

我似乎无法弄清楚Adobe AEM(以前的CQ)是如何解决拇指Url的。page.thumb.319.319.png如何在Adobe AEM中解决?

鉴于以下URL:

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

“en” 是给其依赖于geometrixx-outdoors/components/page_home吊索内容的引用:resourceType为。

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

page_home继承自geometrixx-outdoors/components/page,继而从foundation/components/page继承。后者有一个名为thumbnail.jpg.jsp的jsp,但这也不匹配。

然后有这个奇怪的目录(即它不是一个组件)叫/libs/foundation/components/primary/cq/Page我们发现thumb.png.jsp。根据我补充说的一些日志记录,这个脚本正在参与请求; 虽然我不知道如何。它只包含了包含jcr:content节点的proxy.jsp。

我怀疑,包括JCR:内容是指一个电话:

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

在这一点上,我不清楚发生了什么。这似乎是一个默认的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的编译版本,所以我想这是一个死胡同。

回答

3

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

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

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

+0

谢谢!我跟踪了cq-wcm-core-5.5.6.jar中的ThumbnailServlet类,其中OSGI-INF serviceComponents.xml使用“gif”,“png”或“jpg”扩展名将其注册到“thumb”选择器。 – jedatu 2013-05-07 19:17:30