JSP_EL/JSTL

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值