我有一个奇怪的特殊字符问题。在JSP中,我使用字段名称作为id,名称可以是
id="<1 and &>2" (OR)
id="aaa & bbb"
除了名称,我没有其他选择来使用ID,这是我从后端获得的唯一东西。
因此,是否有使用JSTL删除所有特殊字符的逻辑。在当前情况下,在JS中,我将对ID进行一些操作。这会导致每种浏览器出现许多问题。
请提出建议,在此先谢谢...
<%@ 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。
<c:out value="${id}" escapeXml="false"/>
我在数据库中有类似的数据:&lt; Hello World&gt;]和escapeXml =“ false”使其显示
<Hello World>
使用Spring的HtmlUtils.htmlEscape(字符串输入)。