- Java Server Pages,是一种动态网页技术标准
- JSP部署在服务器上,可以处理客户端发送的请求,并根据请求内容动态的生成HTML、XML或其他格式文档的Web网页,然后再响应给客户端。
- 本质就是Servlet
- 语法
- 注释 <%-- 注释内容 --%>
- Java代码块 <% Java代码 %>
- System.out.println("") 输出到控制台
- out.println("") 输出到页面,out是JspWrite对象的属性,不能换行
- 表达式 <%=%>
- 声明 <%!%> 声明变量或者方法
- 没有!表示是局部变量,相当于定义在service(req, resp)方法中
- 有! 表示是成员变量,属于JSP页面这个类
- 指令
- page <%@ page 属性名=属性值 属性名=属性值…%>
- contentType 响应正文支持的类型和设置编码格式
- langauge 使用的语言,默认是Java
- errorPage 页面出现异常后跳转到哪一个页面去
- isErrorPage 是否抓异常,如果为true页面就可以使用异常对象,默认是false
- import 导包
- include <%@ include file=“包含的页面”%>
- taglib 可以引入外部标签库 <%@ taglib uri=标签库的地址 prefix=前缀名称 %>
- page <%@ page 属性名=属性值 属性名=属性值…%>
- 9大隐式对象
- request HttpServletRequest
- response HttpServletResponse
- session HttpSession
- application ServletContext
- page 表示this,当前JSP页面的对象
- config ServletConfig
- exception 异常对象
- out JspWriter
- pageContext PageContext 页面域对象
- PageContext
- JSP独有,Servlet中没有
- 是四大域对象之一的页面域对象,还可以操作其他三个域对象中的属性
- 可以获取其他八个隐式对象
- 生命周期是随着JSP的创建而存在,随着JSP的结束而消失,每个JSP页面都有一个PageContext对象
- 四大域对象
- PageContext 页面范围 最小,只能在当前页面使用 范围小,开发用得少
- ServletRequest 请求范围 一次请求或当前请求转发使用 请求转发后,再次转发时请求域丢失
- HttpSession 会话范围 对此请求数据共享时使用 多次请求共享数据,但不同的客户端不能共享
- ServletContext 应用范围 整个应用都可以使用 尽量少用 如果对数据有修改需要做同步处理
- EL表达式 在JSP2.0规范中加入的内容 ${}
- 作用:在JSP页面中获取数据,让我们脱离Java代码和JSP表达式
- 获取不同类型的数据
- 基本数据类型 ${} 直接获取
- 自定义对象 ${对象名.属性}
- 数组 ${arr[index]}
- 获取List集合 ${list[index]}
- 获取Map集合 ${map.key}
- 注意事项
- EL表达式没有空指针异常,获取到null,不会出错,页面没有值而已
- EL表达式没有索引越界异常 不会出错,页面没有值而已
- EL表达式没有字符串拼接
- EL表达式运算符${5==5} 这样的式子返回true或falsem,true和false也会直接显示到网页上
- ==或eq 等于
- !=或ne 不等于
- <或lt 小于
- <或gt 大于
- <=或le 小于等于
- >=或ge 大于等于
- &&或and 并且
- ||或or 或者
- !或not 取反
- empty ${empty 值的内容}
- 判断对象是否为null
- 判断字符串是否为空字符串
- 判断容器元素是否为0
- 使用细节
- EL表达式可以获取四大域对象的数据,根据setAtrribute参数的名称从小到大在域中查找
- EL表达式还可以获取JSP其他八个隐式对象,并调用对象中的方法
- EL表达式隐式对象
- pageContext 对应JSP隐式对象 pageContext 页面域对象,除这个剩下的10个隐式对象没有对应JSP中的隐式对象
- applicationScopr 操作应用域对象数据
- sessionScope 操作会话域对象数据
- requestScope 操作请求域对象数据
- pageScope 操作页面域对象数据
- header 获取请求头数据
- headerValues 获取请求头数据(多个值)
- param 获取请求参数数据
- param 获取请求参数数据(多个值)
- initParam 获取全局配置参数数据
- cookie 获取Cookie对象
- JSTL Java Server Pages Standarded Tag Library JSP标准标签库 需要额外导包
- 可以利用这些标签库,简化开发
- core 核心标签库 通用的逻辑处理
- <标签名:if> <c:if test="${score eq ‘A’}">
- <标签名:choose><标签名:when><标签名:otherwise> switch
- <标签名:forEach>
<c:forEach item="${list}" var="str"> ${str} </c:firEach>
- fmt 国际化 不同地域显示不用语言
- functions EL函数 EL表达式可以使用的方法
- sql 操作数据库
- xml 操作XML
- core 核心标签库 通用的逻辑处理
- 可以利用这些标签库,简化开发
JSP_EL/JSTL
最新推荐文章于 2022-07-28 21:51:34 发布