Как я могу получить путь к активу для данного представления в файле Java в AEM? - PullRequest
0 голосов
/ 16 мая 2018

Я хочу отобразить представление «cq5dam.thumbnail.140.100.png» моего актива изображения в виде эскиза на моей html-странице. Как я могу получить путь к активу одного из моих активов в DAM в java / JSP для данного представления

1 Ответ

0 голосов
/ 16 мая 2018

эта функция сделает свое дело

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','')}
...