当前位置:  开发笔记 > 编程语言 > 正文

JSP:JSTL的<c:out>标记

如何解决《JSP:JSTL的<c:out>标记》经验,为你挑选了4个好方法。

编写JSP页面,究竟做了什么?我注意到以下两者都有相同的结果:

The person's name is

The person's name is ${person.name}

krosenvold.. 151

c:out 转义HTML字符,以避免跨站点脚本.

如果 person.name =

脚本将在第二种情况下执行,但在使用时不会执行 c:out



1> krosenvold..:

c:out 转义HTML字符,以避免跨站点脚本.

如果 person.name =

脚本将在第二种情况下执行,但在使用时不会执行 c:out


我相信这是默认的.
NB它逃脱XML而不是HTML.JSTL更令人讨厌的微妙之处.我最终总是编写自己的HTML转义EL fn.
属性名称区分大小写,因此它的escapeXml ="true"不是escapeXML
只有'escapeXML'设置为true(不确定是否默认)
我不知道这个答案的代码示例是什么 - 有人可以澄清吗?它提到了"第二种情况",但我没有看到,我没有看到c:在代码中使用.
@IcedD​​ante:第一种情况是OP提到的第一个代码行,其中c:out.第二种情况是OP的第二行代码

2> alexmeia..:

正如Will Wagner所说,在旧版本的jsp中,你应该总是使用c:out输出动态文本.

而且,使用这种语法:

No name

当name为null时,您可以显示文本"No name".


凉!我不知道.

JSR 52,维护版本2,参见第22页"带有主体".链接:http://download.oracle.com/otndocs/jcp/jstl-1.2-mrel2-eval-oth-JSpec/

3> Chris Serra..:

c:out如果值person.name恰好为null,则还具有用于指定默认值的属性.

来源:out(TLDDoc生成的文档)



4> Greenhorn..:

您可以使用属性escapeXml值等于true来显式启用转义Xml实体.仅供参考,默认情况下为"true".

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有