在JSP中使用Spring MVC:
经过一些阅读后,我得出结论,如果我使用
打印一些值 ${someValue}
没有html转义完成。这是一个问题,因为我想要打印包含<
>
等的文字。
我将使用的解决方案是使用<c:out>
- 标签替换所有此类事件,如
<c:out value="${someValue}" />
我的问题是:为什么我要首先使用简短形式?
我想象的唯一有效用法是,如果我想将 someValue 的内容呈现为html(我认为这是例外情况)。
编辑:我发现另一篇文章回答了我关于何时使用简短表格的问题,可以在这里找到
XSS prevention in JSP/Servlet web application
如链接中所述,重要的是包装正在重新显示的用户控制输入,因为这是攻击的潜在来源。
因此,如果某些值没有任何特殊字符,例如与<
或>
类似,并且不是用户生成或控制的值,可以使用缩写形式${someValue}
。