JSTL c: импорт и x: синтаксический анализ внутри x:forEach

StackOverflow https://stackoverflow.com/questions/1435489

  •  07-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь использовать теги c: import и x: parse в x:forEach.

Возможно ли это?

Если нет, то каков другой способ импортировать несколько источников xml в зависимости от проанализированных данных из другого источника xml?

<x:forEach select="$sitemap/pages/page" varStatus="status">
    <x:set var="location_id" select="@id"/>
    <c:import url="xml/pages/page${location_id}.xml" var="location_xml_var"/>
    <x:parse var="location_xml" xml="${location_xml_var}" />

    <x:out select="$location_xml/pages/page/@name" escapeXml="false"/>

</x:forEach>

Это приводит к

javax.servlet.jsp.JspException: org.xml.sax.SAXParseException: Content is not allowed in prolog.

ошибка, связанная с x:parse.

Это было полезно?

Решение

Похоже, это просто не сработает.

В итоге я прокрутил XML-файл sitemap и вывел идентификаторы в новый файл.

<c:set>

переменная, затем перебирающая ее с помощью

<c:forEach> and <c:import>'ing

каждый XML-файл, который мне был нужен.Таким образом, ядро forEach позволит это, xml forEach - нет.

Я понимаю, что это, вероятно, неправильный способ решения этой проблемы в любом случае, но я пока не получил никаких ответов на этот вопрос.Не стесняйтесь предлагать альтернативу!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top