JSP表达式
在这里插入代码片JSP表达式元素包含计算,转换为字符串,并插入出现在JSP文件的脚本语言表达式。 表达元素可以包含任何Java语言规范有效的表达式,但是不能使用一个分号来结束表达式。
JSP语法
<%= expression %>
例子
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>HelloWorld</title>
</head>
<body>
<%=new Date().toLocaleString() %>
</body>
</html>
JSP注释
JSP注释标记的文字或语句不会执行
例子
<!-- 这里是注释不会被执行 -->
语法 | 解释 |
<%-- comment --%> | JSP注释,它将被JSP引擎忽略 |
<!-- comment --> | HTML注释,它将被浏览器忽略 |
<% | 表示静态<%的字面量 |
%> | 表示静态%>的字面量 |
\’ | 在使用单引号在属性中的单引号 |
\" | 双引号在属性使用双引号 |
JSP 指令
指令 | 描述 |
<%@ page … %> | 定义页面依赖属性 |
<%@ include … %> | 在转换阶段的文件 |
<%@ taglib … %> | 声明了一个标签库,包含自定义动作,用在页面中 |
page指令
语法:<%@ page attribute = “value” %>
属性 | 描述 |
buffer | 指定输出流的缓冲模型 |
autoFlush | 控制servlet输出缓冲区的行为 |
contentType | 定义字符编码方案 |
errorPage | 定义Java未检查运行时异常的JSP的URL。 |
isErrorPage | 指示此JSP页面是否是由另一个JSP页面的errorPage属性指定的URL。 |
extends | 指定生成的servlet必须扩展的超类。 |
import | 指定JSP中使用的包或类和Java的import语句一样。 |
info | 定义可以使用servlet的getServletInfo()方法访问的字符串 |
isThreadSafe | 定义生成的servlet的线程模型。 |
language | 定义JSP页面中使用的编程语言。 |
session | 指定JSP页面是否参与HTTP会话 |
isELIgnored | 指定JSP页面中的EL表达式是否被忽略。 |
isScriptingEnabled | 确定脚本元素是否被允许使用。 |
include指令
语法:<%@ include file = “” >taglib指令
语法:<%@ taglib uri=" " prefix = " " >JSP 隐式对象
对象 | 对象 |
request | 请求相关联的HttpServletRequest对象 |
response | 响应客户端相关联的HttpServletResponse对象 |
out | 将输出发送给客户端的PrintWriter对象 |
session | 请求相关联的HttpSession对象 |
application | 应用程序上下文关联的ServletContext对象 |
config | 与页面关联的ServletConfig对象 |
pageContext | 采用更高的性能JspWriters服务器特定的功能 |
page | 用来调用由转换servlet类中定义的方法 |
Exception | Exception对象允许例外的数据由JSP指定访问 |
JSP运算符
JSP支持所有支持Java的逻辑和算术运算符。从上向下为高级别到低级别。
类别 | 操作符 |
括号运算符 | () [] . (点运算符) |
一元运算符 | ++ - - ! ~ |
乘法运算符 | * / % |
加法运算符 | + - |
位移运算符 | >> >>> << |
关系运算符 | > >= < <= |
相等运算符 | == != |
位与运算符 | & |
位取反运算符 | ^ |
位或运算符 | | |
逻辑与运算符 | && |
逻辑或运算符 | || |
关系运算符 | ?: |
赋值运算符 | = += -= *= /= %= >>= <<= &= ^= |
逗号运算符 | , |
JSP动作
动作 | 描述 |
jsp:include | 在请求页面时包含一个文件。 |
jsp:useBean | 查找或实例化一个JavaBean |
jsp:setProperty | 设置JavaBean属性的值。 |
jsp:getProperty | 将JavaBean属性的值输出。 |
jsp:forward | 将请求者转发到新页面。 |
jsp:plugin | 生成针对Java插件创建OBJECT或EMBED标记的特定于浏览器的代码。 |
jsp:element | 动态定义XML元素。 |
jsp:attribute | 定义动态定义的XML元素属性。 |
jsp:body | 定义动态定义的XML元素的正文。 |
jsp:text | 用于在JSP页面和文档中编写模板文本。 |
JSP日期
JSP最重要的优点就是可以使用Java中的方法。java.util包中提供的Date类封装了当前的日期和时间。
方法 | 描述 |
boolean after(Date date) | 如果调用的Date对象包含的日期晚于date指定的日期,则返回true,否则返回false。 |
boolean before(Date date) | 如果调用的Date对象包含早于date指定的日期,则返回true,否则返回false。 |
Object clone( ) | 复制调用Date对象。 |
int compareTo(Date date) | 将调用对象的值与date对应的值进行比较。 如果值相等,则返回0。 如果调用对象早于date,则返回负值。 如果调用对象晚于日期,则返回正值。 |
int compareTo(Object obj) | 如果obj是类Date的对象,则与compareTo(Date)的操作相同。 否则会引发ClassCastException。 |
boolean equals(Object date) | 如果调用的Date对象包含与date指定的时间和日期相同的时间和日期,则返回true,否则返回false。 |
long getTime( ) | 返回从1970年1月1日起经过的毫秒数。 |
int hashCode( ) | 返回调用对象的哈希码。 |
void setTime(long time) | 设置时间指定的时间和日期,表示从1970年1月1日午夜开始的以毫秒为单位的经过时间 |
String toString( ) | 将调用的Date对象转换为字符串并返回结果。 |
EL表达式中的运算符
运算符 | 描述 |
. | 访问一个bean属性或Map的项 |
[] | 访问数组或List元素 |
() | 组合子表达式以更改评估顺序 |
+ | 加 |
- | 减去或取反一个值 |
* | 乘法 |
/ 或 div | 除法 |
% 或 mod | 求模 |
== 或 eq | 测试等于 |
!= 或 ne | 测试不等于 |
< 或 lt | 测试小于 |
> 或 gt | 测试大于 |
<= 或 le | 测试小于或等于 |
>= 或 ge | 测试大于或等于 |
&& 或 and | 测试逻辑与 |
or | 测试逻辑或 |
! 或 not | 一元布尔互补 |
empty | 测试空变量值 |
EL隐式对象
隐式对象 | 描述 |
pageScope | 来自页面范围的范围变量 |
requestScope | 来自请求范围的范围变量 |
sessionScope | 会话范围的范围变量 |
applicationScope | 应用范围的范围变量 |
param | 请求参数作为字符串 |
paramValues | 请求参数作为字符串集合 |
header | HTTP请求标头作为字符串 |
headerValues | HTTP请求标头作为字符串集合 |
initParam | 上下文初始化参数 |
cookie | Cookie值 |
pageContext | 当前页面的JSP PageContext对象 |