JSTL和EL介绍
JSTL规范介绍
------------------------------------------------
JSTL:
* JSTL即JSP Standard Tag Library的缩写
* 一些常用的JSP标签
* 和MVC框架结合使用很方便,如果struts、spring mvc
* 不是JSP 1.2,2.0,2.1规范的一部分,需要单独下载。下表是servlet、jsp、jstl、j2ee规范的对应关系:
Servlet Version JSP Version JSTL Version Java EE Version
2.5 2.1 1.2 5
2.4 2.0 1.1 1.4
2.3 1.2 1.0 1.2
EL:
* EL即JSP Expression Language(JSP表达式语言)
* EL来源于JSTL,jsp 2.0、2.1中已实现了EL规范
注:本文是按照jstl1.2的规范来介绍的,sql和xml标签未做介绍!
Core Tags(核心标签)
------------------------------------------------
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:out>
语法:
<c:out value=”value” [escapeXml=”{true|false}”] [default=”defaultValue”] />
描述:
输出一个表达式的值,和 <%= ... > scriptlet类似,但在c:out中可以用'.'访问对象属性值。
例子:
<c:out value="${'<tag> , &'}"/> >>>>> <tag> , &
<c:out value="${customer.address.street}"/>==${customer.address.street}(JSP2.0/2.1) >>>>> street的值
EL表达式的取值默认顺序:pageScope requestScope sessionScope applicationScope
<c:out value="${requestScope.foo}"/>
<c:out value="${requestScope['foo']}"/>
<c:out value="${param['foo']}"/>
<c:out value="${param['foo']}"/>
<c:out value="${paramValues['foo']}"/>
<c:set>
语法:
<c:set value=”value” var=”varName” [scope=”{ page|request|session|application}”]/>
<c:set value=”value” target=”target” property=”propertyName”/>
描述:
将表达式计算出来的值赋值给某一变量或map中的对象
例子:
<c:set var="foo" value="${foo2 * 2}" scope="page"/> scope="{page|request|session|application}"
<c:set target="${cust.address}" property="city" value="wuhan..."/>
<c:set target="${myMap}" property="color" value="red"/>
<c:remove>
语法: