JSTL 介绍与使用
JSTL (JavaServer Pages Standard Tag Library)包括5个标记库, JSTL最新版本1.2功能领域
URI
前缀
Core??????????? ? ? ????????????
http://java.sun.com/jsp/jstl/core??????????????????????????????????
c
Format
http://java.sun.com/jsp/jstl/fmtfmt
SQL
http://java.sun.com/jsp/jstl/sqlsql
XML
http://java.sun.com/jsp/jstl/xmlxml
Functions
http://java.sun.com/jsp/jstl/functionsfn
?
下载安装JSTL :http://www.apache.org/dist/jakarta/taglibs/standard
如果使用MyEclipse,在建立web工程时,使用的是Java EE5.0 则不需要再安装了,因为已经内置。
?
Core 标记库?? 简单分类如下:
????? 操作变量??????? ??? 条件操作??? ??? 循环操作??? ??? URL操作???out
set
remove
catch
if
choose
when
otherwise
forEach
forTokens
import
url
redirect
param
语法:
<c:out value="value" [escapeXML="{true|false}"] [default="defaultValue"]/>or <c:out value="value" [escapeXML="{true|false}"] >default value</c:out>?属性:
属性名描述EL必选缺省值value需要输出的值,可以是EL表达式或常量可以是无defaultvalue值为空时所输出的内容可以否无escape为true对输出内容中的<,>,',"和&字符进行转义,分别转成
<,>,',"和&。为fasle就不进行转义了。
?
建立一个简单的JSP页面测试一下:
<% session.setAttribute("username","Grass"); %><c:out value="测试一下c:out"/><br/><c:out value="${pageScope.username}" default="疯狂的草儿"/><br/><c:out value="${sessionScope.username}" default="疯狂"/><br/><c:out value="<h1>测试下Grass!</h1>" escapeXml="false" default="疯狂"/><br/><c:out value="<h1>测试下Grass!</h1>" default="疯狂"/><br/>?语法:
<c:set value="value" var="name" scope="{page|request|session|application}"]/>or<c:set var="name" scope="{page|request|session|application}"]>value</c:set><c:set value="value" target="target" property="propertyName"/>or<c:set target="target" property="propertyName">value</c:set>?属性:
属性描述EL是否必须缺省值value要保存的内容,可以是EL表达式或常量可以是无target要修改该属性的对象名,一般为JavaBeans对象可以否无property要修改的JavaBeans的属性可以否无var要保存内容的变量名否是无scope保存内容的变量的作用范围否否page简单例子:
<c:set var="username" value="c:set"></c:set><c:out value="${username}"></c:out>语法:
<c:remove var="name" [scope="{page|request|session|application}"]/>属性:
属性描述EL是否必须缺省值var被删除的变量的名字否是scope被删除变量的作用范围否?
?