如何从AEM中的Java文件中获取给定再现的资产路径?

时间:2018-05-16 11:23:33

标签: jsp aem cq5 dam

我想在我的html页面中将'cq5dam.thumbnail.140.100.png'的图像素材资源显示为缩略图。 如何在给定再现的java / JSP中获取DAM中我的一个资产的资产路径

1 个答案:

答案 0 :(得分:-1)

这个功能可以解决问题

public static String getImageAssetPath(SlingHttpServletRequest slingRequest,String actualDamPath,String renditionParam,String defaultPath) {
    try {
        if(StringUtils.isNotEmpty(actualPath)){
              Resource resource = slingRequest.getResourceResolver().getResource(actualPath);
              Asset asset = resource.adaptTo(Asset.class);
              String imageAssetPath = asset.getRendition(renditionParam).getPath();
              LOGGER.info("imageAssetPath for given rendition: " + imageAssetPath);
              return imageAssetPath;
       }

    } catch (Exception e) {
        LOGGER.error(e.getMessage());
    }

    return defaultPath;
}

将此函数放在标记库中,以便在jsps

中使用它
${mytaglib:getAssetPath(slingRequest,property.previewImage,'cq5dam.thumbnail.140.100.png','')}