jstl标签与el表达式



jstl<c:out>标签与el表达式.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表达式是相同的)。