我遇到了特殊字符的奇怪问题。 在 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 实体:( <
变为 <
, &
变为 &
...)。
请注意,ID 必须使用 HTML 进行编码,而不是使用 JavaScript。
关于jsp - JSTL 转义特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6134411/