为了解决跨站脚本问题,我使用以下代码来转义特殊字符:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<c:set var="linkParam" value="${fn:escapeXml(linkParam)}" />
当运行代码时,我可以看到页面源中的特殊字符被转义:
<a href='/result.jsp?name=O'Neil'>O'Neil</a>
但是当点击链接时,浏览器仍然在地址栏中显示“/result.jsp?name=O'Neil',知道吗?