JSP使用EL表达式

一、JSP
1.(1).Java 服务器页面 (Java Server Page ,JSP) ;扩展名 .jsp 本质:servlet。
(2).Jsp是一种建立在Servlet规范提供的功能之上的动态网页技术,允许在网页文件中嵌入java代码和jsp标记。
(3).格式:
2.jsp的执行过程
(1)Jsp文件在用户第一次请求时,会被编译成Servlet,然后由这个Servlet处理用户的请求,所以jsp可以看成是运行时的Servlet 。
(2)Jsp容器(也就是Servlet容器)管理jsp页面声明周期分为两个阶段.即转换阶段和执行阶段 。
(3)当有一个对jsp页面的请求到来时,jsp容器检查jsp页面的语法是否正确,将jsp页面转换为Servlet 源文件,然后调用javac命令编译Servlet源文件生成字节码文件.这是转换阶段。
(4)Servlet容器加载转换后的Servlet类,这是执行阶段。
JSP使用EL表达式_第1张图片
3.JSP 页面的元素
(1).静态内容 ------------→ HTML、js、css静态文本
(2).指令 ------------→ 以 <%@ 开始,以 %> 结束
(3).表达式 ------------→ <%=Java表达式 %>
在这里插入图片描述
失败页面:
在这里插入图片描述
(1).代码块 ------------→ <% Java 代码(变量:_jspService方法的局部变量) %>
在这里插入图片描述
(5).声明 ------------→ <%! 函数或方法、变量(成员变量) %>
(6).动作 ------------→以 结束
(7).注释 ------------→ <%-- 这也是注释,但客户端不能查看到 --%>
在这里插入图片描述
4.JSP 指令
(1).用来设置与整个 JSP 页面相关的属性。
(2).<%@ page … %> 定义页面的依赖属性,比如脚本语言、error 页面、缓存需求等等
(3).<%@ include … %> 包含其他文件
(4).<%@ taglib … %> 引入标签库的定义,可以是自定义标签 <%@ taglib
(5).uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %>
(6).配置页面的属性,如使用java语言、页面使用html、编码等等。
在这里插入图片描述
5.jsp的九大内置对象
(1). request HttpServletRequest 类的实例。
(2). response HttpServletResponse 类的实例。
(3). out PrintWriter 类的实例,用于把结果输出至网页上。
JSP使用EL表达式_第2张图片
(1). session HttpSession 类的实例5. application ServletContext 类的实例,与应用上下文有关。
Session(会话)与其配套的是Cookie用于解决HTTP无协议状态,因为浏览器使用的是HTTP无网络通讯协议,HTTP有一个重要的特点是无状态,无状态是服务器不会记住任何一个与其通讯的客户端。
(5). config ServletConfig 类的实例。
(6).pageContext PageContext 类的实例,提供对 JSP 页面所有对象以及命名空间的访问
(7). page 类似于 Java 类中的 this 关键字。
(8). Exception Exception 类的对象,代表发生错误的 JSP 页面中对应的异常对象。
(9).JSP 作用域包括 page(代表和包含当前页面)、request(代表和包含当前请求)、session(代表和包含会话内容) 和 application(代表和包含整个系统的内容)。
6.JSTL的组成:
功能范围 URI 前缀
core(核心) http://java.sun.com/jsp/jstl/core c *
例:核心库
在这里插入图片描述
I18N http://java.sun.com/jsp/jstl/fmt fmt
SQL http://java.sun.com/jsp/jstl/sql sql
XML http://java.sun.com/jsp/jstl/xml x
functions http://java.sun.com/jsp/jstl/functions fn

二、EL表达式
1.JSP EL 表达式用于以下情形:
(1).静态文本( JavaScript脚本在jsp中属于静态内容)
.标准标签和自定义标签
.EL不能在脚本元素中使用 脚本元素不是指JavaScript脚本,而是 <% Java 代码 %> 。

2.(1).EL使用”[ ]”和”.”操作符来访问数据
在这里插入图片描述
(2).对于连字符(-)或者其它特殊字符的字符串只能用“[ ]”操作符,而不能用“.”操作符,这也是“[ ]”和 “.”操作符的区别 如 ${header[“User-Agent”]}。
在这里插入图片描述

(3).EL表达式的操作内容可以是:常量、变量、jsp隐含对像
.EL表达式还提供了对操作内容的运算:属性取值、运算、逻辑运算
.EL表达式的操作结果会自动输出到输出流对像中
.EL 表达式只能通过内置对象取值,也就是只读操作

3.(1).EL 为表达式语言(Expression Language),可以简化对变量的对象的访问
语法 :所有的表达式以” ” 开 始 , 以 ” ” 结 束 , 格 式 : {”开始,以”}”结束,格式: ,:{EL Expression}
(1).主页面===>成功页面==>浏览器,只需要${}就可以获取主页面的代码。
在这里插入图片描述
(3).开启或关闭EL表达式: isELIgnored =“true|false” 。
在这里插入图片描述
4.EL 运算符:
(1)、EL 算术运算符 + - * /(div) %(mod)
例:sex=1,1+1=2、1-1=0、1*2=2、1/2=0.5、1%2=1,不止于常量,也可以加自身。
JSP使用EL表达式_第3张图片
(2)、EL 关系运算符 ==(eq等于) !=(ne不等于) <(lt小于) <=(le小于等于) >(gt大于) >=(ge大于等于)。
例:判断false或true。

在这里插入图片描述
(3)、EL 逻辑运算符 &&(and) ||(or) !(not)
例:
在这里插入图片描述
(4)、EL 其他运算符

  1. empty 运算符 用来判断值是否为null 或空的
    例:输出结果为false。
    在这里插入图片描述
    2)条件运算符 ${ A ? B : C} 意思是说,当A 为true 时,执行B;而A 为false 时,则执行C
    例:如果sex为true。
    在这里插入图片描述
  2. ( ) 括号运算符 用来改变执行优先权,例如: ${ A * (B+C) }
    5.EL表达式的作用域: PageScope 、RequestScope 、sessionScope 、applicationScope 。

你可能感兴趣的:(mysql,java,mysql)