您可以使用JSTL
core:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
使用
<c:outvalue="${someString}"/>标签显示字符串。<c:out>转义HTML字符,以便避免跨站点脚本编写,可以通过设置属性来指定
escapeXml=true。另一个优点是,你还可以提供情况下默认值的
value计算结果为
null。
您也可以使用
fn:escapeXml()EL功能。您需要为此添加JSTL函数。
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
另一种可能的方法是构建自定义ELResolver。
为EL表达式评估启用自定义变量和属性解析行为。
该博客提供了一个可行的示例。
对于整个Spring MVC应用程序,您可以在 web.xml中 指定转义:
<context-param> <param-name>defaultHtmlEscape</param-name> <param-value>true</param-value></context-param>
但是转义仅适用于
spring标签,例如:
<form:input path="formField" htmlEscape="true" />
最后,您可以尝试使用第三方库XSSFilter。



