x:forEach内のJSTL c:importおよびx:parse
質問
x:forEach内でc:importおよびx:parseタグを使用しようとしています。
これは可能ですか?
そうでない場合、別の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をループして、新しいIDにIDを出力しました
<c:set>
変数を使用してから、それをループします
<c:forEach> and <c:import>'ing
必要な各XMLファイル。したがって、コアforEachはこれを許可しますが、xml forEachは許可しません。
とにかく、これはおそらくこの問題を解決するための間違った方法だと思いますが、この質問に対する回答はまだ得られていません。代替品をお気軽にご提供ください!
所属していません StackOverflow