<c:out>标签用于在JSP中显示数据。
语法
语法1:没有本体(body)内容
<c:out value="value" [escapeXml="{true|false}"] [default="defaultValue"] />
语法2:有本体内容
<c:out value="value" [escapeXml="{true|false}"]>
default value
</c:out>
属性名 称 |
说 明 |
EL |
类 型 |
必 须 |
默认值 |
value |
需要显示出来的值 |
Y |
Object |
是 |
无 |
default |
如果value的值为null,则显示default的值 |
Y |
Object |
否 |
无 |
escapeXml |
是否转换特殊字符,如:< 转换成 < |
Y |
boolean |
否 |
true |
注意
表格中的EL字段,表示此属性的值是否可以为EL表达式,例如:Y表示 attribute = "${表达式}" 为符合语法的,N则反之。
例:
你的用户名是: <c:out value="${user.username}" default="guest"/>
显示用户的用户名,如为空则显示guest。
<c:out value="${sessionScope.username}"/>
指定从session中获取username的值显示。
<c:out value="${username}" />
显示username的值,默认是从request(page)中取,如果request中没有名为username的对象则从session中取,session中没有则从application(servletContext)中取,如果没有取到任何值则不显示。
教材例程15-2,c_out.jsp,<c:out>标签的应用。
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<html>
<head>
<title>JSTL: c:out的使用</title>
</head>
<body bgcolor="#FFFFFF">
<hr>
<% session.setAttribute("test_session","testValue_session");%>
<% request.setAttribute("test_request","testValue_request");%>
<% application.setAttribute("test_application","testValue_application");%>
<% request.setAttribute("test_all","testValue_request");%>
<% session.setAttribute("test_all","testValue_session");%>
<% application.setAttribute("test_all","testValue_application");%>
<hr>输出一个字符串:
<c:out value="test"/>
<hr>带有body的c:out标签,但是body不输到客户端。
<% for(int i=0;i<5;i++)
{
%>
<c:out value="test2">
<% out.println("i");
i++;
%>
</c:out>
<% }%>
<hr>
<c:out value="2<10" escapeXml="true">
</c:out>
<hr>获得session中的属性:
<c:out value="${test_session}"/>
<hr>获得request中的属性:
<c:out value="${test_request}"/>
<hr>获得application中的属性:
<c:out value="${test_application}"/>
<hr>测试表达式语言优先获得哪个属性:<request,session,application>
<c:out value="${test_all}"/>
<hr>输出一个默认值:
<c:out value="${notex}" default="这个值不存在"/>
</body>
</html>