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>&nbsp;and enter voucher code {2}"
          },
          "item_5": {
            "jcr:primaryType": "nt:unstructured",
            "label": "offline_email_content",
            "content": "To claim this {1} cash, please visit this&nbsp;<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 здесь, так как это предназначено для электронной почты.

0 ответов

Другие вопросы по тегам