JSTL标签
<!----><o:p> </o:p>
包括以下几个标签库:
核心标签库 http://java.sun.com/jsp/jstl/core c
Xml标签库 http://java.sun.com/jsp/jstl/xml x
国际化/格式化标签库 http://java.sun.com/jsp/jstl/fmt fmt
数据库标签库 http://java.sun.com/jsp/jstl/sql sql
EL自定义函数 http://java.sun.com/jsp/jstl/functions fn
<o:p> </o:p>
注: 语法说明
[…]:表示括号中的内容是可选的
{option1| option2| option3| option4|….}:花括号中的”|”字符分隔的各个选项不能同时出现,只能选一个.
属性的值字体加粗,表示这个值是对应属性的默认值
属性的值斜体,表示该属性可以是表达式
标签的内容用斜体,表示标签体的内容可以是jsp代码.
<o:p> </o:p>
核心标签库:
<o:p> </o:p>
<c:out>语法: (1) <c:out value=”value” [escapeXml=”${true|false}”]
[default=” defaultValue”] />
(2) <c:out value=”value” [escapeXml=”${true|false}”]>
default value<o:p></o:p>
</c:out>
<o:p> </o:p>
<c:out>标签属性说明
<o:p> </o:p>
属性名 |
是否支持EL |
属性类型 |
属性描述 |
value |
true |
Object |
指定输出的内容 |
escapeXml |
true |
boolean |
是否将 >,<,’,”,&,等特殊字符进行HTML编码转换后再进行输出,默认是true. |
default |
true |
Object |
如果value属性的值为null时,所输出的默认值. 如果没有指定默认值,默认为null字符串. |
<o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>
特殊字符转换表
<o:p> </o:p>
字符 |
字符实体编码 |
< |
< |
> |
> |
& |
& |
‘ |
' |
“ |
"t; |
<o:p> </o:p>
当escapeXml=true时,对特殊字符输出为字符实体编码中对应的值.
当escapeXml=false时,则不对特殊字转换,直接输出<,>,&,’,”
<o:p> </o:p>
例子1:
Out1.jsp
<o:p> </o:p>
<%
session.serAttribute(“test_session”,”zhangfan”);
%>
<c:out value=”test” default=”<!----><st1:chmetcnv tcsc="0" hasspace="False" sourcevalue="123456" numbertype="1" negative="False" unitname="”" w:st="on">123456”</st1:chmetcnv>/><br/>
<c:out value=”${test_request}” default=”这个属性不存在”/><br/>
<c:out value=”${test_session}” /><br/>
运行结果:
test
这个属性不存在
zhangfan
<o:p> </o:p>
例子2:
Out2.jsp
<c:out value=”${null}”>
<meta http-equiv=”refresh” content=”0;url=http://www.it315.org”/>
</c:out>
运行结果:
<meta http-equiv=”refresh” content=”0;url=http://www.it315.org”/>
<o:p> </o:p>
例子3:
把例2中<c:out value=”${null}”>变成<c:out value=”${null}” escapeXml=”false”>其他不变.
运行结果:
显示http://www.it315.org这个网页.
<o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>
<c:if>标签语法:
(1)<c:if test=”testCondition” var=”varname”
[scope=”{page|request|session|application}”] />
(2) <c:if test=”testCondition” var=”varname”
[scope=”{page|request|session|application}”] >
body content<o:p></o:p>
</c:if>
<o:p> </o:p>
<c:if>标签属性
属性名 |
是否支持EL |
属性类型 |
属性描述 |
test |
true |
boolean |
是否处理标签体中的内容的条件表达式 |
var |
false |
String |
用于指定将test属性的执行结果保存在某个web域中的某个属性的名称 |
scope |
false |
String |
指定将test属性的执行结果保存在哪个web域中 |
<o:p> </o:p>
先写一个UserBean类,此类在org.it315包下.
public class UserBean{
private String username;
private String password;
private String address;
private int visitCount;
get()/set()方法;
}
<o:p> </o:p>
例子1:
if1.jsp
<jsp:useBean id=”user” class=”org.it315.UserBean”>
<c:set value=”${param.count}” target=”${user}” property=” visitCount” />
<c:if test=”${user. visitCount==1}”>
这是您第一次访问!
</c:if>
地址栏输入http://localhost:8080/JSTL/if1.jsp?count=1
运行结果:
这是您第一次访问!
<o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>
<c:set>标签语法:
<c:set>用于设置各种web域中的属性,或者设置we