小编典典

如何用JSP表达式语言进行HTML编码?

jsp

考虑以下JSP:

<param name="FlashVars" value="${flashVars}" />

的值${flashVars}包含“&”号,需要在输出前进行编码。相反,JSP期望的值${flashVars}是一段HTML,并逐字输出&符,从而导致HTML损坏。

我发现如果这样写,就可以得到要编码的值:

<param name="FlashVars" value="<c:out value="${flashVars}"/>" />

但这看起来确实很丑陋,并且使我的IDE无法启动。有没有更好的方法来获得相同的结果?


阅读 263

收藏
2020-06-08

共1个答案

小编典典

使用fn:escapeXml()

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
...
<param name="FlashVars" value="${fn:escapeXml(flashVars)}" />
2020-06-08