JSP:JSTL的<c:out>标签
编写一个JSP页面, <c:out>
到底是做什么的? 我注意到,以下两者都有相同的结果:
<p>The person's name is <c:out value="${person.name}" /></p> <p>The person's name is ${person.name}</p>
c:out
转义HTML字符,以便您可以避免跨站点脚本。
如果person.name = <script>alert("Yo")</script>
该脚本将在第二种情况下执行,但不会在使用c:out
正如Will Wagner所说,在旧版本的jsp中,您应该始终使用c:out
来输出dynamic文本。
而且,使用这个语法:
<c:out value="${person.name}">No name</c:out>
名称为空时,可以显示文本“No name”。
如果person.name
的值恰好为null, c:out
也有一个用于分配默认值的属性。
来源: out(TLDDoc生成的文档)
您可以通过使用属性escapeXml值等于true来显式启用转义Xml实体。 仅供参考,默认情况下为“true”。
老版本的JSP不支持第二种语法。