如何在JSP中包含文件的转义版本

时间:2013-02-05 22:24:28

标签: java jsp escaping

我有一个静态文件,我想要包含在JSP中。另一个文件将被视为静态文本,而不是JSP。这个其他文件中包含特殊字符,如“<%”。因此,当我尝试包含它时,我会收到错误。

如何将此文件包含在转义的字符中,或者理解它应该是静态的?

<%@ include file="/FileWithSpecialCharacters.html" %>

3 个答案:

答案 0 :(得分:2)

我认为你不能用包含这样做。

但是你可以通过在某处读取和缓存文件内容然后使用<%= ...%>来插入它来实现。这个主题有很多可能的变化。

答案 1 :(得分:1)

您可以尝试使用JSTL

<c:import url="/FileWithSpecialCharacters.html" context="/other" var="doc"/>

您可以使用var属性在<c:import>标记之间进行通信 和另一个需要输入的标签。

<c:out value="${doc}"/>

<c:out>,默认情况下,它确保使用实体引用转义对HTML或XML具有特殊含义的任何字符。

答案 2 :(得分:0)

如何首先将其作为资源读取,url对其进行编码并将其写入另一个文件 - 然后包括它。所以我想你必须先做一个检查,如果等效,'编码'文件已经存在。为什么特殊字符在第一位?