Skip to content

JSP

指令

  1. 作用: 用于配置 JSP 页面,导入资源文件

  2. 格式: <%@ 指令名称 属性名 1=属性值 1 属性名 2=属性值 2 %>

  3. 分类

    1. page: 配置 JSP 页面

      • contentType: 等同于 response.setContentType()
      • import: 导包
      • errorPage: 当页面发生异常后,会自动跳转到指定的错误页面
      • isErrorPage: 标识当前是不是错误页面
        1. true: 是,可以使用内置对象 exception
        2. false: 否,默认值,不可以使用内置对象 exception
    2. include: 页面包含导入页面的资源文件

      • <%@ include filee="top.jsp" %>
    3. taglib : 导入资源

    4. prefix: 前缀,自定义

注释

  1. html 注释

    • <!-- -->: 只能注释 html 代码片段
  2. jsp 注释:推荐使用

    • <%-- --%>: 可以注释所有

内置对象

在 JSP 页面中不需要创建,直接使用的对象

变量名真实类型作用
pageContextPageContext当前页面的共享数据
requestHttpServletRequest一次请求访问的多个资源
sessionHttpSession一次会话的多个请求期间
applicationServletContext所有用户间共享数据
responseHttpServletReponse响应对象
pageObject当前页面(Servelet)对象 this
outJsWriter输出对象,数据输出到页面上
configServletConfigServlet 的配置对象
exceptionThrowable异常对象

EL 表达式

  1. 概念: Express Language 表达式语言

  2. 作用: 替换和简化 jsp 页面中 java 代码的编写

  3. 语法: ${表达式}

  4. 注意: jsp 默认支持 el 表达式。如果要忽略 el 表达式

    1. 设置 jsp 中 page 指令中: isElIgnore="true" 忽略当前 jsp 页面中所有的 el 表达式

    2. \${表达式} : 忽略当前这个 el 表达式

  5. 使用

    1. 运算符

      • 算数运算符: + - * /(div) %(mod)
      • 比较运算符: > < >= <= == !=
      • 逻辑运算符: &&(and) ||(or) !(not)
      • 空运算符: empty
        1. 功能: 用于判断字符串、集合、数组对象是否为 null 或长度为 0
        2. ${not empty str}: 判断字符串、集合、数组对象是否不为 null 或者长度 > 0
    2. 获取值

      • el 表达式只能从与对象中获取值

      • 语法

        1. ${域名称.键名}: 从指定域中获取指定键的值

          • 域名称

            • pagescope -> pageContext
            • requestScope -> request
            • sessionScope -> session
            • applicationScope -> application(ServletContext)
          • 举例: 在 request 域中存储了 name-张

          • 获取 $

        2. ${键名}: 表示依次从最小的域中查找是否有该键对应的值,直到找到为止

        3. 获取对象,List,Map

          1. 对象: $
            • 本质上会调用对象的 getter 方法
          2. List 集合: $
          3. Map 集合: $