我已导入ESAPI库并尝试在jsp -
中使用以下代码<s:set var="varUrl" value="%{'<>'}" />
<s:property value="varUrl" />
<esapi:encodeForHTML><s:property value="varUrl"/></esapi:encodeForHTML>
上面的代码工作正常,我可以在浏览器中看到编码的特殊字符。
现在当我尝试这段代码时 -
<input type="hidden" name="test" value="<%=ESAPI.encoder().encodeForHTML("<>")%>"/>
此处在上面的行中,输出未被编码。它显示简单的&lt;&gt ;.
有谁知道原因?我没有以正确的方式使用它吗?请建议。 我正在关注此链接 - Using ESAPI in JSP
答案 0 :(得分:1)
编码按预期工作。实际上我错误地使用IE调试器来检查编码值。 IE调试器显示不一致的编码值。检查符号是否编码的最佳方法是查看页面源。这就是我现在所做的。值按预期编码。