EI表达式和JSTL
JSP九大内置对象
WEB域内置对象(存值取值,传值数据用的)
setAttribute/getAttribute;
page 基本不用/ pageContext 只在本页面有效
request 一次请求有效 / session 一次会话有效
application
其他 四种
exception:异常
response :响应setcontentType("text/html;charset =UTF-8")
out : 输出 不推荐使用/ config :读取初始化信息-->web.xml(部署描述符)
EL(Expression Language) 目的:为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。
语法结构:${expression}
取值:
${requestScope.userlist}
${sessionScope.userlist}
${applicationScope.userlist}
${pageScope.userlist} 等 userlist是在取值前存入的一个对象或其他
算术运算:所有参与的元素都会被转换成数字,如果不能转化就会报错,空元素参与运算当做没参与。
关系运算:重要
== --> eq 例如 5 == 5 或(5 eq 5)
!= --> ne
< --> lt
> -->gt
<= -->le
>= --->ge
逻辑运算:
$$ --->and
|| ---->or
! ---->not
empty/not empty 判断一个对象或集合数组是否为null 或长度为0
条件表达式:?a:b
[]和.号运算符
JSP标准标签库JSTL
jsp标准标签库JSTL是一个JSP标签集合,它封装了jsp应用的通用核心功能。
JSTL支持通用的、结构化的任务,条件判断,XML文档操作,国际化标签,SQL标签。除了这些,它还提供了一个框架来使用JSTL的自定义标签
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
核心标签:
<c:out> 用于在jsp中显示数据,就像<%= %>
<c:set> 用于保存数据
<c:remove> 用于删除数据
<c:catch> 用于处理产生错误的异常状况,并将错误信息储存起来
<c:if> 与我们平常使用的if一样
<c:choose> 本身只当做<c:when> 和<c:otherwise>的父标签
<c:when> <c:choose>的子标签,用来判断条件是否成立
<c:otherwise><c:chooose>的子标签,接在<c:when>之后,当<c:when>为false时执行
<c:forEache>基础迭代标签,接受多种集合数据
<c:param>用来包含或重定向的页面传递参数
<c:redirect>重定向至一个新的URL
<c:import>检索一个绝对或相对的URL,然后将其内容暴露给页面
格式化标签:用来输出文本、日期、时间、数字。引用格式化标签库的语法如下
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:formatNumber> 使用指定的格式化或精度格式化数字
<fmt:parseNumber > 解析一个代表着数字,货币或百分比的字符串
<fmt:formatDate>使用指定的风格或模式格式化日期和时间
<fmt:parseDate>解析一个代表日期或时间的字符串
<fmt:bundle> 绑定资源
<fmt:setLocale>指定地区
<fmt:setBundle>绑定资源
<fmt:timeZone>指定时区
<fmt:setTimeZone>指定时区
<fmt:message>显示资源配置文件信息
<fmt:requestEncoding>设置request的字符编码
XML标签 供了创建和操作XML文档的标签 引用格式化标签库的语法如下
<%@ taglib prefix="x"uri="http://java.sun.com/jsp/jstl/xml" %>
JSTL函数标签 包含一系列标准函数,大部分是通用的字符串处理函数。引用JSTL函数库的语法如下:
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>