JSP c:设置为x:out返回的值显示特殊字符代码

时间:2011-08-24 09:46:48

标签: jsp jstl xml-parsing

我有一个xml文档。在解析我想要的文档时

<c:set var="fullName">
<x:out select="$character/fstName"/>.<x:out select="$character/famName"/>
</c:set>

然后再

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

这会显示特殊字符html代码而不是字符本身(即撇号变为&#38#039)

我在该网页上看到了类似的问题“how-can-i-escape-special-html-characters-in-jsp”,但这似乎是针对c:的解决方案。我在我的情况下尝试了它,它似乎不适用于x:out

提前致谢

2 个答案:

答案 0 :(得分:3)

默认情况下,<x:out>会将某些字符转换为关联的实体代码。如果您不希望发生这种情况,请尝试以下方法:

<x:out select="$character/fstName" escapeXml="false"/>

答案 1 :(得分:1)

所以这是最终解决方案:

<c:set var="fullName">
<x:out select="$character/fstName" escapeXml="false"/>.<x:out select="$character/famName" escapeXml="false"/>
</c:set>

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

我猜 escapeXml =“false”是在 c:set x:out 时一直使用的东西> 除非预期节点的内容仅包含数字