⼩脚本(<% java代码%>)
声明标签
<%!
变量或者⽅法声明
%>
表达式标签
<%=
表达式
%>
在⻚⾯上显示的效果
程序代码标签
<%java
代码
%>
⻚⾯上动态展示内容
JSP的内置对象
page对象:当前页面=this
pagecontext对象: 相当于page的包装类,只在当前页面有效
request对象:代表客户端的请求
response对象:代表服务器对客户端的响应
session对象:对话,服务器自动创建的与用户请求相关的对象。value可以是复杂的类型
application对象:生命周期直到服务器关闭。类似于系统的“全局变量” ServletContext
out对象:用于在web浏览器内输出信息
out.print("<script type='text/javascript'>alert('⽤户名不存在');
location.href='index.jsp'</script>");
config对象:获取服务器配置信息
//将
image
路径转换成服务器端的路径
String url= config.getServletContext().getRealPath("/image");
<h1>url=<%=url %></h1>
exception对象:显示异常信息,需要isErrorPage="true"
(1)
先在可能发⽣错误的⻚⾯中添加
errorPage
属性
:
<%@ page pageEncoding="utf-8"
errorPage="error.jsp"
contentType="text/html;charset=UTF-8" language="java" %>
(2)
在
error.jsp
⻚⾯中设置
isErrorPage="true"
的属性
(
使⽤
exception
对象之前,需要先将当前⻚⾯设置成错误⻚⾯)
<%@ page language="java" isErrorPage="true" import="java.util.*"
pageEncoding="UTF-8"%>
JSP指令:
指令名称
| 描述 |
---|---|
page
|
定义⽹⻚依赖属性,⽐如脚本语⾔、
error
⻚⾯、缓存需求等等
|
include
|
包含其他⽂件
|
taglib
|
引⼊标签库的定义
|
JSP状态码:
EL表达式:
语法格式:
${
需要展示信息的名字
}
注意:
当表达式没有指定变量或者对象的范围时,
那么容器会依次从
pageContext—>request—>session—>application
中查找
pageScope
对象,⽤于获取当前⻚⾯的属性值
requestScope
对象,⽤于获取请求范围的属性值
sessionScope
对象,⽤于获取会话范围的属性值
applicationScope
对象,⽤于获取程序范围的属性值
语法
:
${requestScope.key}
JSP标准标签库:
JSP标准标签库(JSTL)是⼀个JSP标签集合,它封装了JSP应⽤的通⽤核⼼功能。
(3)
核⼼标签
①核⼼标签是最常⽤的
JSTL
标签。引⽤核⼼标签库的语法如下:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
② 核⼼标签的分类
表达式操作
out
、
set
、
remove
、
catch
流程控制
if
、
choose
、
when
、
otherwise
迭代操作
forEach
、
forTokens
URL
操作
import
、
param
、
url
、
redirect
Set
标签
<
c:set>
主要⽤来将变量存储⾄
JSP
范围中 或是
JavaBean
的属性或
Map
对象中
<
c:out>
主要⽤来显示数据的内容
<
c:remove>
主要负责移除变量
<
c:if>
主要⽤于进⾏
if
判断
,
如果为
true,
则输出标签体中的内容
<
c:choose>,
<
c:when>,
<
c:otherwise>
作⽤相当于
if-else
<
c:forEach>
循环控制,它可以将数组
,
集合
(Collection)
中的成员循序浏览⼀遍。
(4)
格式化标签
1
、
fmt:formatDate
作⽤:将⽇期类型格式化为指定模式的字符串
属性
value:
将要被格式化的数据
pattern
:格式化的模式,与
SimpleDateFormat
的参数设置⼀样
var:
格式化后的字符串所要存放的变量,若不指定
var
,则会将格式化的结果直接显示在⻚⾯
scope
:变量存放的域属性空间,默认
page
type
:其取值为
date
、
time
、
both
,表示给出的
value
是⽇期、时间、还是两者都包含,默认是
date
2
、
fmt:parseDate
作⽤:⽤于将指定字符串转化为⽇期类型
<fmt:parseDate value="${now }" pattern="yyyy-MM-dd" var="today"/>
Value
服务器获取的时间
Pattern:
转换的格式
Var:
⻚⾯显示的变量
3
、
fmt:formatNumber
按照指定格式对数字进⾏格式化
属性
maxIntegerDigits
:整数部分最多的位数
minIntegerDigits
:整数部分最少的位数
maxFrctionDigits
:⼩数部分最多的位数
minFrctionDigits
:⼩数部分最少的位数
var
:存储格式化结果的变量
scope
:
var
属性的作⽤域
integerOnly
:是否只解析整型数
true
或者浮点数
false