Я пытаюсь добавить пользовательские atom: tags для RSS-канала в AEM.
Я переопределил OOTB-код к /apps/cq/Page/feed.jsp
из эквивалентного libs
пути.
Я могу извлечь путь к изображению из jcr-node
, но не могу успешно добавить его в пользовательский тег.
Как добавить пользовательские теги в библиотеки тегов для префикса атом ?
Импорт
--%><%@ page session="false" %><%
%><%@ page import="com.day.cq.commons.Externalizer,
com.day.cq.wcm.api.Page,
com.day.cq.wcm.api.WCMMode,
java.util.Iterator,
javax.jcr.Node,
com.day.cq.wcm.api.components.ComponentContext" %><%
%><%@ taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling/1.0" %><%
%><%@ taglib prefix="cq" uri="http://www.day.com/taglibs/cq/1.0" %><%
%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%
%><%@ taglib prefix="atom" uri="http://sling.apache.org/taglibs/atom/1.0" %><%
%><cq:defineObjects /><%
Пользовательский код
Node jcrNode = currentNode.hasNode("jcr:content") ? currentNode.getNode("jcr:content") : null;
Node imageNode = jcrNode != null && jcrNode.hasNode("image") ? jcrNode.getNode("image") : null;
String image = imageNode != null && imageNode.hasProperty("fileReference") ?
imageNode.getProperty("fileReference").getValue().getString() : null;
%><atom:feed id="<%= url %>"><%
%><atom:title><c:out value="<%= title %>"/></atom:title><%
if (subTitle != null) {
%><atom:subtitle><c:out value="<%= subTitle %>"/></atom:subtitle><%
}
if (image != null) {
%><atom:image><c:out value="<%= image %>"/></atom:image><%
}
%><atom:link href="<%= link %>" rel="self"/><%
Тег изображения не идентифицирован
<atom:image></atom:image>
Журналы ошибок
.feed HTTP/1.1] org.apache.sling.engine.impl.SlingRequestProcessorImpl service: Uncaught SlingException
org.apache.sling.scripting.jsp.jasper.JasperException: /apps/cq/Page/feed.jsp(60,18) No tag "image" defined in tag library imported with prefix "atom"