0

我有一个文件名

apps\cq\personalization\components\clientcontext\command\thumbnail\png.java

这个文件有什么用。这个文件似乎产生了许多静态分析问题。

4

1 回答 1

1

首先,在 AEM 中,可以将 JAVA 文件放入 jcr 存储库中。它们将被视为与任何脚本(jsp、sightly 等)相同的方式,并遵循相同的渲染条件。在 AEM 中呈现大多数图像的img.JAVAservlet 就是一个很好的例子。

在您的情况下,您的文件是原始文件的覆盖/libs/cq/personalization/components/clientcontext/command/thumbnail/png.java,这意味着它可能是原始文件的变体。

这是一个 servlet,它将响应png带有 resourceType 资源扩展名的请求cq/personalization/components/clientcontext/command/thumbnail

快速浏览它,它似乎只是渲染了位于 AEM 客户端上下文路径内的图像。

我同意你的观点,这是一种奇怪的方法(注意文件中的 TODO)。如果您需要一个覆盖并且不想在您的存储库中保留 Java 文件,您可以通过使用@SlingServlet注释为正确的扩展名和 resourceType 注册相同的 servlet 作为 OSGi 声明式服务来实现相同的目的。

于 2016-12-25T14:38:40.247 回答