【问题标题】:JSTL xml parsingJSTL xml解析
【发布时间】:2011-08-01 15:40:47
【问题描述】:

我有一个关于 JSTL 标签库的小问题。

我们如何选择一个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>

用户JSL的JSP文件:

<%@ 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标签?

感谢您的关注。

【问题讨论】:

    标签: java xml jsp jstl


    【解决方案1】:

    您应该尝试将您的 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>
    ...
    

    干杯, 马特

    【讨论】:

    • XML 应该只包含原始数据,并且格式(HTML 标记)用于 JSP 部分。例如,不要放置 A 标签和 IMG 标签,只需放置您的 A 标签的链接和您的 img 标签的图像 url。 stckoverflow.com</…>
    • 非常感谢我们,我终于使用了 xsl 格式 然后在 jsp 文件中:
    猜你喜欢
    • 1970-01-01
    • 2011-04-22
    • 2013-10-03
    • 1970-01-01
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 2015-09-11
    • 1970-01-01
    相关资源
    最近更新 更多