JAVA第二阶段第十五天 JSP技术(上)

JSP概述

全名:Java Server Page
中文名称:Java服务器页面

1.jsp:来替换servlet 的页面展示,servlet 也可以写网页的内容、页面的展示,servlet 就用于来处理请求与响应

2.运行在服务器的页面,其实就是一个简化的 Servlet 设计

3.jsp:会被编译成:index_jsp
HttpJspBase 是 HttpServlet 的子类
_jspService() 就是 service 的方法

JSP 的脚本

JSP 的使用步骤

1.导入 jar 包,添加依赖
2.添加指令

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

语法格式

1.<% 编写java代码 %>
2.<%! 1.变量是成员变量 2.可以申明方法 %>
3.<% = %>:输出,类似于out.print()

注意点:
1.小脚本不能写标签,只能写java代码,可以混合使用
2. jsp 中的注释 <%-- -%>在网页中不会显示注释

JSP 的三大指令

1.page 指令:<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>
==>>contentType:表示页面的类型,编码格式(默认就是UTF-8) ==>>language:表示语言
==>>import:表示导包
==>>errorPage=“error.jsp”:界面发生异常所跳转的界面 ==>>pageEncoding=“UTF-8”:设置编码格式
==>>autoFlush=“true”:是否自动来刷新这个界面

2 <%@include file=""%>:一般用于引入公共的界面,file 的值就是文件的路径

3.<%@taglib prefix=“fmt” uri=“http://java.sun.com/jsp/jstl/fmt” %>:引入第三方的标签库,prefix:设置的名字,uri:表示可以引入的标签地址

jsp 与 servlet 的关系

1.jsp 就是一个特殊的servlet,主要是做页面展示
2.servlet 用于来处理请求与响应

EL 表达式

EL 的作用

1.使用el表达式可以获取到作用域下的值
2.可以做一些基本上的运算
3.避免一些错误的产生
4.减少页面的java代码量

EL语法

1.获取简单的键值对:$ {键}
2.对象的获取:$ {user.uname}
注意:这个对象必须给其set、get方法
3.获取数组: $ {str[0]}
4.获取map对象的值:$ {map.key2}
注意:前后的泛型都必须给一致
5.获取集合:$ {list.get(0)} || $ {list[0]}
6.获取集合对象的语法: $ {userList[0].uname}

JSP代码
<%@ page import="com.offcn.entity.User" %>
<%@ page import="java.util.Map" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %><%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2019/12/24 0024
  Time: 14:03
  To change this template use File | Settings | File Templates.
--%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <%--获取简单的键值对--%>
    <%request.setAttribute("aa","aaaa");%>
    <%--获取对象--%>
    <%
        User user = new User();
        user.setUname("李四");
        user.setUpwd("123");
        request.setAttribute("user",user);
    %>
    <%--获取数组--%>
    <%
    String[] str = {"123","345","546"};
    request.setAttribute("str",str);
    %>
    <%--获取map对象的值--%>
    <%
    Map<String,String> map = new HashMap<String,String>();
    map.put("key1","value1");
    map.put("key2","value2");
    request.setAttribute("map",map);
    %>
    <%--获取List集合--%>
    <%
    List<String> list = new ArrayList<String>();
    list.add("中国");
    list.add("美国");
    request.setAttribute("list",list);
    %>
    <%--获取集合中的对象--%>
    <%
    List<User> userList = new ArrayList<User>();
    User user1 = new User();
    user1.setUname("赵茜");
    user1.setUpwd("666");
    userList.add(user1);
    userList.add(user);
    request.setAttribute("userList",userList);
    %>

${aa}
${user.uname}
${str[1]}
${map.key2}
${list.get(0)}
${list[0]}
${userList[0].uname}

<c:forEach items="${userList}" var="user" varStatus="index">
    ${user.uname}
    ${user.upwd}
</c:forEach>
</body>
</html>

EL 的基本运算

算数运算符:+ - * / div(除) mod(取余)
关系运算符:>= <= == != < >
逻辑运算符:&& (并且) || (或者) ! (非)

JSTL 表达式

一般与EL表达式来进行搭配

JSTL 表达式的步骤

1.导入相关的 jar 包
2.在头部引入其标签库:
<%@taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>:prefix:表示取的名字 uri:表示引入标签库的地址

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
常用的标签

1.用于判断:<c:if>
==>> test 里是条件表达式

<c:if test="${1==1}">小叶子</c:if>

2.用于循环的:<c:foreach>
==>> items="${userList}" :需要遍历的作用域下的集合,通过el表达式来获取
==>> var=“user”:每次遍历产生对象的别名
==>> varStatus=“index”:遍历的索引
==>> begin=“1”:起始位置
==>> step=“2”:波长
==>> end=“4”:结束位置

<c:forEach items="${userList}" var="user" varStatus="index">
    ${user.uname}
    ${user.upwd}
</c:forEach>
万能的格式

${pageContext.request.contextPath}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值