Как я могу получить путь к активу для данного представления в файле Java в AEM?
Я хочу отобразить представление cq5dam.thumbnail.140.100.png моего актива изображения в виде эскиза на моей html-странице. Как я могу получить путь актива одного из моих активов в DAM в java/JSP для данного представления
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','')}