2013-04-17 133 views
0

我想从基础中使用图像组件接受图像并显示在页面上。如果我将组件从基础复制到我的项目文件夹,然后通过该页面访问该组件,其接受图像并在页面上显示为已损坏。CQ5中的图像组件

1)我已将所有图像保存在DAM中。但图像组件正在寻找以下路径

/content/XXX/en/sah/_jcr_content/img.img.png/1366177510193.png

能否请你解释的图像组件的概述。

在此先感谢!

回答

2

我不确定你改变了什么,因为很难从这个非常有限的代码中弄清楚。但标准图像渲染的基础是这样的。

您将图像组件拖放到您的解析器上,将图像从图像组件中的内容查找器中拖出。

实际的渲染发生如下。在查看图像组件时,您可以在image.jsp中看到图像的“假定”渲染(它被写入输出流)。该图片已经收到了“.img.png”的请求后缀。这是在requestSuffix物业图像组件的对话框中定义,是标准设置为“.img.png”

我们现在有一个网址,页面上的资源,但吊带尚未解决的实际图像。当我们在吊索解析链中继续前进时,我们在libs/foundation/components/page组件中看到一个img.png.jsp文件。在解析图像组件的吊装过程中,由于.img.png的请求后缀,在此servlet中结束。正是这个servlet负责将图像写入响应。在这个过程中,它会为实际图像添加一个名为“图像”的名称。

因此,最终的路径是这样的:

pathToPageWithImageComponentOnIt/_jcr_content/containerComponent/image.img.png/imageSuffix.jpg 

所以你的情况这将转化:

/content/XXX/en/_jcr_content/par/image.img.png/1366177510193.png 

假设par是你parsys的

一个原因你图像没有被正确渲染可能是你的自定义页面组件没有基础页面组件作为吊索:resourceSuperType这意味着img.p ng servlet不会被调用(因为它无法在吊索解析链上找到它),从而破坏图像。

+0

非常感谢....它真的对我有帮助.... – michaelvino86

0

将图像组件从libs复制到apps目录时,您必须还复制了驻留在该图像组件下面的Java文件。
打开该Java文件并重命名包,然后编译它。
您的问题将得到解决。