一般情况使用c:out和el表达式的效果是一样的,如: hello(使用标签):
hello(使用el表达式):${hello}
welcome(escapeXml="false"):
(这个设置为false后解析和el表达式是一样的)。
hello(使用el表达式):${hello}
那一般什么时候会使用c:out标签呢?有两种情况:
(1)使用缺省值。有的时候某个东西没设值,但要输出缺省值,如果用el表达式什么都不输出,但可以使用c:out输出想要输出的缺省值;如下: hello(default="123"):
这样就输出了想要输出的123值。
(2)使用el表达式会对传过来的代码进行解析,而c:out标签输出时不会,因为它的默认值是这样设置的:escapeXml="true" 如果想要和el一样进行解析,则可以设置值为false即可。比如: welcome(default):
(这是默认的,即可以不写escapeXml="true" 和下面这个是一样的。) welcome(escapeXml="true"):welcome(escapeXml="false"):
(这个设置为false后解析和el表达式是一样的)。