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