如何使用JSP?</textarea>在XHTML页面<textarea>中插入XML文件

时间:2009-12-03 14:13:19

标签: xml jsp xhtml jstl

如何将XML文件作为内容包含在XHTML文档的textarea元素中?如果不转义特殊字符,则会导致验证错误。

在使用include指令插入特殊字符之前,是否有一种简单的方法可以转义特殊字符,就像使用JSTL一样?

示例代码:

    <div>
        <textarea name="content" rows="20" cols="80"><%@ include file="example.xml" %></textarea>
    </div>

这在浏览器中看起来很好,但XHTML验证会失败,因为嵌入式文件会启动另一个XML声明。

2 个答案:

答案 0 :(得分:5)

“官方”JSTL的做法如下:

<c:import url="example.xml" var="xmlContent"/>

<textarea><c:out value="${xmlContent}" escapeXml="true"/></textarea>

无论如何escapeXml属性默认为true,但出于文档原因,在此处指定它可能是明智的。

答案 1 :(得分:1)

您可能希望将<%@ include %>嵌入<![CDATA[...]]>中,因此它被视为纯文本而非XML部分。您可以阅读this以更深入地了解CDATA的用途。