我有特殊字符这个奇怪的问题。在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。