1.JSTL和EL
是jsp中最核心的技术。
在jsp2.0之后出现的技术,目的是去掉所有的小脚本<%%>
1.1.EL表达式
1.1.1.格式
${表达式语言}
1.1.2.作用
取值输出:可以在4个作用域对象和请求对象中取值,输出到浏览器;
使用el表达式替换<%= %>。
1.1.3.常量
在el表达式中使用””双引号或者单引号’’
1.1.4.运算符
算数运算符: + - * /
关系运算符: >gt < lt ==eq >= ge <=le
逻辑运算符: && and || or !not
验证字符串是否为空,使用empty
1、null—空值
2、“”–空字符串
${empty name}---${empty null}----${empty ''}
${age >=18 }----${age ge 18 }
${age <=18 }----${age le 18 }
${age >=18 and name=='baoyu'}---${age >=18 && name=='baoyu'}
1.1.5.EL表达式中的隐式对象 1.1.5.1.通过param在请求中取值 Test.jsp页面 index
提交 Index.jsp页面
获取请求中的携带的参数值--通过param
name:${param.name }==age:${param.age }来自表单中的内容 userName:${param.userName } pass:${param.pass }
1.1.5.2.header获取请求中的头信息
获取头信息
${header}${header.referer }
${header.cookie }
1.1.5.3.获取4个作用域对象中存储的值
Jsp隐式对象 El表达式获取隐式对象 范围
pageContext pageScope 当前页面
request requestScope 同一个请求
session sessionScope 会话范围
application applicationScope 整个应用程序范围
获取4个隐藏域中的内容
<% pageContext.setAttribute("address", "beijing--page"); request.setAttribute("address", "beijing--request"); session.setAttribute("address", "beijing--session"); application.setAttribute("address", "beijing--application"); %> pageContext-address:${pageScope.address}request-address:${requestScope.address}
session-address:${sessionScope.address}
application-address:${applicationScope.address}
操作对象类型: <% Student stu=new Student("黛玉",14,'女'); request.setAttribute("stu", stu); %> stu:${requestScope.stu}
stu.stuName:${requestScope.stu.stuName}
stu.age:${requestScope.stu.age}
stu.sex:${requestScope.stu.sex}
public class Student { private String stuName; private int age; private char sex; ....省略set get 和构造方法
1.2.JSTL
JSTL jsp的标准标签库;JSP2.0之后推出的一组标签,用于在jsp页面进行一些逻辑控制。
1.2.1.JSTL的4组标签库
核心标签库、XML标签库、SQL标签库、国际化标签库(日期转换、数字格式转换)
1.2.2.使用JSTL标签库之前需要导入标签库的描述文件
<% taglib 导入标签库文件
导入核心标签库和国际化标签库
<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
<%@ taglib prefix=“fmt” uri=“http://java.sun.com/jsp/jstl/fmt” %>
Prefix:前缀,原则上可以自定义,但是国际通过C
Uri:查找路径
1.2.3.核心标签库中常用的标签
1.2.3.1.If标签的使用
1.2.3.2.多重选择结构 choose标签
<%
request.setAttribute(“num”, 56);
%>
<c:choose>
<c:when test=" r e q u e s t S c o p e . n u m l t 60 " > 不 及 格 < / c : w h e n > < c : w h e n t e s t = " {requestScope.num lt 60}">不及格</c:when> <c:when test=" requestScope.numlt60">不及格</c:when><c:whente