Jsp相关

jsp

1. 概述

由sun公司提供的动态web资源开发技术,看起来像html,但是可以在jsp页面中写
java代码。

2. 技术由来

servlet适合处理业务逻辑,但不适合向外输出页面。
html适合开发页面,但不能展示动态数据。
jsp结合了html和servlet的优点,既可以像html那样开发静态页面,也可以书写java代码。

3. jsp 语法

  • jsp表达式:
    <%= 脚本表达式 %>
    表达式的值会原样输出到当前位置。

  • jsp脚本片段
    <% java语句 %>
    最终java语句会被翻译为普通的java代码执行。
    注意:一个jsp脚本片段可以不完整,但是多个片段必须是完整的。

  • jsp指令
    <%@ 指令名称 若干属性 %>

  1. Page指令:用来声明当前jsp页面的基本属性,一般放在jsp的最上面。
     属性:
      language:当前jsp使用的开发语言。
      contentType:数据编码格式。
      import:导包。

  2. include指令:可以实现页面的包含效果。

  3. taglib指令:用于导入JSTL标签库。

4. pageContext 隐式对象

  ——代表当前jsp页面的运行环境

5. jsp标签技术

在jsp中写入大量java代码会导致jsp页面混乱,所以sun公司提出了jsp标签技术,推荐使用jsp标签来代替jsp中的java代码,
并推荐不要在jsp中出现任何一行java代码。

5.1 EL表达式

EL表达式用来代替jsp页面中的jsp表达式,可以获取数据,但不能遍历或者设置,格式如下:
${表达式}

  1. 获取数据
    可以获取常量、变量、数组中的数据、集合中的数据、对象的属性等。值得注意,EL表达式只能从四大作用域中获取数据。

  2. 执行运算
    算术: +、-、*、/、%...
    关系: >、<、>=、<=、==...
    逻辑: &&、||、!
    三元表达式: 表达式? "aaa" : "bbb"
    empty运算:判断数据是否为空。

  3. 常用开发对象
    EL表达式内置了11个常用对象

  • pageContext 有了它,意味着有了其他八大隐式对象。
    详情可见

  • pageScope-代表pageContest作用域的对象,可以从中获取数据。

  • requestScope-代表request作用域的对象,可以从中获取数据。

  • sessionScope-代表session作用域的对象,可以从中获取数据。

  • applicationScope-代表ServletContext作用域的对象,可以从中获取数据。

  • param : 此对象中保存了所有的请求参数。

  • cookie :所有的cookie对象会保存到这个对象中,可以通过cookie的name获取cookie对象。例如:
    ${cookie.remname.value}

5.2 JSTL标签库

JSTL标签库用来代替jsp页面中的脚本片段。其有许多子库,我们只使用核心标签库(core)。
使用时先要导入JSTL的jar包,然后在jsp页面通过taglib指令引入核心标签库:

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:set> 用来向域中设置属性
<c:if> 条件语句
<c:forEach> 用来遍历
posted @ 2020-04-24 08:37  仰观云  阅读(120)  评论(0编辑  收藏  举报
Live2D