c:在JSP文件中输出和$ {}

时间:2013-01-11 09:30:59

标签: jsp jstl el

使用

有区别
<c:out value="${a}"/>

只是

${a}

在JSP文件中?

3 个答案:

答案 0 :(得分:7)

是的,JSTL的out标记会将某些字符转换为XML转义序列as stated in the documentation

  

属性escapeXml:确定结果字符串中的字符<>&'"是否应转换为他们对应的角色实体代码。默认值为true

请注意,如果目标是生成更清晰的标记,那么请查看http://java.sun.com/jsp/jstl/functions命名空间中的escapeXml函数作为替代。

答案 1 :(得分:0)

只需打印输出两者或相同。但是,当我们不具备变量的价值时,那么它会打印出“空”#。
为了解决这个问题,我们可以在c:out标签中使用默认值。

例如:<c: out value='${a}' default='guest' />

答案 2 :(得分:0)

尝试更改taglibs:

<%@ taglib prefix="c" uri="htttp://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="htttp://java.sun.com/jsp/jstl/fmt" %>

<%@ taglib prefix="c" uri="htttp://java.sun.com/jstl/core" %>
<%@ taglib prefix="fmt" uri="htttp://java.sun.com/jstl/fmt" %>