JSTL转义特殊字符

我有特殊字符这个奇怪的问题。在JSP中,我使用字段名称作为id,名称可以是

id="<1 and &>2" (OR)

id="aaa & bbb"

除了名称,我没有其他选择可以使用ID,这是我从后端获得的唯一东西。

因此,是否有任何逻辑可以使用JSTL删除所有特殊字符。在当前情况下,在JS中,我将对ID进行一些操作。这会导致每种浏览器出现许多问题。

请提出建议,在此先谢谢…

回答:

JSTL提供了两种转义HTML特殊字符的方法:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

[…]

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

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

[…]

${fn:escapeXml(myName)}

两者都将特殊字符转换为它们各自的HTML实体:(<变为&lt;&变为&amp;…)。

请注意,ID必须以HTML编码,而不是JavaScript。

以上是 JSTL转义特殊字符 的全部内容, 来源链接: utcz.com/qa/427973.html

回到顶部