我见过类似
的内容<c:out something
</c:out>
这用于什么
答案 0 :(得分:5)
它用于在考虑HTML / XML转义的同时打印服务器端变量。将此应用于用户控制的输入(请求参数,标题,Cookie,已保存的数据等)时,这会阻止您的网站出现XSS attack个潜在漏洞。
如果要显示的数据绝不是由最终用户控制的,并且您正在使用JSP 2.0或更新版本(web.xml
被声明为Servlet 2.4或更新版本且容器支持它),那么你也可以使用
${bean.property}
而不是
<c:out value="${bean.property}" />
答案 1 :(得分:2)
此标记用于将数据直接输出到页面。如果您想要向用户显示变量,这将非常有用。默认情况下,c:out
会转义html字符,以防止XSS攻击。
另一个特性是,如果表达式为null,则可以提供“默认”字符串:
<c:out value="${foo.bar}">Foobar is null!</c:out>
答案 2 :(得分:1)
c:out
可用于打印变量并转义HTML字符,因此更安全。
当变量为null时,显示默认文本也很有用。
e.g。
<c:out value="${variable}">variable is null</c:out>
如果未设置变量,将显示“variable is null”。