AEM6/CQ: поиск данных из нескольких полей с использованием jstl для содержимого электронной почты
У меня есть страница конфигурации, в которой есть данные, заполненные с помощью мультиполя. Я читаю его данные json из узла страницы и заполняю в другом компоненте рендеринг jsp(с пустым диалогом), используя JSTL, где я также заменяю заполнители:
данные json со страницы конфигурации:
"item_3": {
"jcr:primaryType": "nt:unstructured",
"label": "description",
"content": "you are entitled for cashback. "
},
"item_4": {
"jcr:primaryType": "nt:unstructured",
"label": "online_email_content",
"content": "To claim this {1} cash, please visit this <a href=\"http://www.google.com\">url</a> and enter voucher code {2}"
},
"item_5": {
"jcr:primaryType": "nt:unstructured",
"label": "offline_email_content",
"content": "To claim this {1} cash, please visit this <a href=\"http://www.google.com/\">url</a>."
}
},
JSTL в моем компоненте рендеринга jsp:
<c:set var="externalContent"
value="${is:getContentJson(resourceResolver)}" />
<c:set var="externalData" value="${externalContent['fieldContent']}" />
<c:set var="externalData"
value="${fn:replace(externalData,'{1}','${DiscountValue}')}" />
<c:set var="externalData"
value="${fn:replace(externalData,'{2}','${VoucherCode}')}" />
<tr>
<td width="19"></td>
<td width="562"
style="font-family: open_sans; font-size: 16px; color: #333;">
<div>${externalData}</div>
</td>
<td width="19"></td>
</tr>
Как мне искать и фильтровать только контент, который имеет "label" как "online_email_content" и смежный с ним "content" и игнорирует остальное.
Я не могу использовать JavaScript здесь, так как это предназначено для электронной почты.