Анализ JSTL xml - PullRequest
       8

Анализ JSTL xml

1 голос
/ 01 августа 2011

У меня небольшой вопрос на вкладке JSTL lib.

Как мы можем выбрать все содержимое тега xml.

Позвольте мне показать вам:

XML-файл:

<?xml version="1.0" encoding="ISO-8859-1"?>
<menu>
<portlet id="publier">
    <titre>Publier</titre>
    <contenu><a target="blank"
            href="#">
            <img src="Logo_32x32_Facebook.png"
                alt="Publier cette info sur Facebook" />
        </a>
    <contenu>
</portlet>
 ...
</menu>

Файл JSP этого пользователя JSL:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/xml"  prefix="x" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<c:import url="./vue/Theme/default/menu.xml" var="menuXML" />
<x:parse xml="${menuXML}" varDom="menuXML" />

<div class="column" id="col1">

<x:forEach select="$menuXML/menu/portlet" var="currentPortlet">
    <div class="portlet" id="<x:out select="@id"/>">
        <div class="portlet-header"><x:out select="$currentPortlet//titre" /></div>
        <div class="portlet-content">
            <x:if select="$currentPortlet//contenu">
                <x:out select="$currentPortlet//contenu"/>
            </x:if>             
            <x:if select="$currentPortlet//lien" >
                <ul>
                    <x:forEach var="lien" select="$currentPortlet//lien" >
                        <li><a href="<x:out select="@url"/>"><x:out select="$lien" /></a></li>
                    </x:forEach>
                </ul>
            </x:if>             
        </div>
    </div>
</x:forEach>
</div>

Проблема в том, что думают:

<x:if select="$currentPortlet//contenu">
    <x:out select="$currentPortlet//contenu"/>
</x:if> 

Если содержимое содержит теги HTML, они не отображаются

Как получить все содержимое тега "contenu", а не игнорировать HTML-теги?

Спасибо за внимание.

1 Ответ

1 голос
/ 01 августа 2011

Вы должны попробовать обернуть ваш HTML-код в CDATA , чтобы он не анализировался как XML-код.

Как это:

<?xml version="1.0" encoding="ISO-8859-1"?>
...
<contenu>
   <![CDATA[
      <a target="blank"
        href="#">
        <img src="Logo_32x32_Facebook.png"
            alt="Publier cette info sur Facebook" />
      </a> 
   ]]>
<contenu>
...

Ура, Matt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...