1、 JSP表达式语言EL
使用jsp:getProperty的property属性只能访问Bean的属性,不能访问嵌套的属性。
JSP EL(表达式语言 Expression Language),用于方便、快捷的显示页面数据。格式${}
2、 EL表达式中隐式变量:
pageScope,requestScope,sessionScope,applicationScope,param,paramValues,cookies,header,headerValues
Scope默认先寻找page里有无对应的属性,如未找到则寻找request,再找session,再找application,如果中途找到有该属性名则显示,停止寻找,如果始终未找到,则不显示。
param.name 可以获取到表单中name对应的值。
3、 标准标签库JSTL
功能范围:
核心(core),一般用途处理的标记,前缀c;
xml,解析、选择、转换XML数据的标记,前缀x;
数据库(sql),访问关系型数据库的标记,前缀sql
国际化,为国际化应用格式化数据的标记,前缀fmt
函数(Functions),处理字符串和集合的标记,前缀fn。
4、 核心库里的常用标签:
- <c:out value=”输出的内容” [escapeXml=”true|false”] [default=”默认值”]/>标签:主要用于输出内容,与EL或脚本表达式输出结果一样
<c:out value=”” >默认值</c:out>
default:表示如果要显示的value内容为null,则显示default定义的内容;
escapeXml:表示是否转换字符串,例如将”>”转换成”gt”,默认为true;
- <c:set>标签:主要用于将属性保存在4种属性范围中。
语法格式1:<c:set var=”name” value=”” [scope=page]/>
语法格式2:<c:set value=”” target=”${}name” property=”name”/>
- <c:remove>标签:主要用于删除指定范围中的指定属性,功能与removeAttribute方法类似。
语法格式:<c:remove var=”name” scope=”page”/>
- <c:catch>标签:主要用于处理程序中产生的异常,并进行相关的异常处理。
语法格式:<c:catch [var=”e”]>有可能发生异常的语句</c:catch>
- <c:if>标签,判断。格式:<c:if test=”条件” var=”结果” scope=””/>
<c:if test=”条件” var=”结果” scope=””>满足条件时执行的语句</c:if>
- <c:choose><c:when><c:otherwise>标签,用于判断多个条件,相当于switch/case/when/default
格式:
<c:choose>
标签体内容(<c:when></c:when><c:otherwise></c:otherwise>)
</c:choose>
- <c:forEach>标签,循环控制,可以将集合中的成员迭代输出,功能与Iterator接口相似。
格式:<c:forEach [var=”每一个对象的属性名称”] [items=”集合”]>标签体</c:forEach>
begin:表示集合的开始位置,默认从0开始;
end:表示集合的结束位置,默认为集合的最后一个元素;
step:表示每次迭代的间隔数,默认为1;
- <c:forTokens>标签,用于输出操作,类似于String类中的spilt方法和循环输出的一种结合。
格式:
<c:forTokens items=”输出的字符串” delims=”字符串分隔符”>标签体</c:forTokens>
也支持begin、end、step属性。
- <c:redirect>标签:用于重定向,与response.sendRedirect方法相同
格式:<c:redirect uri=”地址” context=”上下文路径”><c:param value=”” /></c:redirect>