JSP

什么是JSP

用户角度看待 ,就是是一个网页,从程序员角度看待 ,是继承了servlet的java类,所以可以直接说jsp 就是一个Servlet。

为什么用JSP

用于显示一些动态数据,可以在jsp文件中写java代码。

JSP的用法

include指令

--把另外一个页面的所有内容拿过来一起输出。 所有的标签元素都包含进来

<%@ include file=".jsp"%>

taglib指令

:标签库(下一篇实例会有用法)

<%@ taglib prefix=""  uri="">uri: 标签库路径  prefix : 标签库的别名

JSP 动作标签:

<jsp:include page=""></jsp:include>---动态包含界面,将界面的结果拿过来输出
<jsp:forward page="other02.jsp"></jsp:forward>==request.getRequestDispatcher("other02.jsp").forward(request, response)--请求转发

<jsp:param value="" name=""/> --在进行网页跳转时候携带的参数

常见的用法:<jsp:forward page="other.jsp">
        <jsp:param value="beijing" name="address"/>
      </jsp:forward>

JSP内置对象:

以下四个为作用域对象,可以存值,可以取值。但是范围不同:

- pageContext --作用域仅限于当前的页面。 
- request --作用域仅限于一次请求, 只要服务器对该请求做出了响应。 这个域中存的值就没有了。
- session --作用域限于一次会话(多次请求与响应) 当中。
- application --整个工程都可以访问, 服务器关闭后就不能访问了。

其它几个对象:

- out         【JspWriter】-- 用于输出的对象
- response  【HttpServletResponse】

不常用
- exception  【Throwable】
- page     【Object】
- config 【ServletConfig】

EL

简化jsp中的java代码,常与JSTL一块用

EL的内置对象:

作用域相关对象
- pageScope
- requestScope
- sessionScope
- applicationScope

头信息相关对象
- header
- headerValues

参数信息相关对象
- param
- paramValues

- cookie
  全局初始化参数
- initParam

EL的使用方法:

1. 取出4个作用域中存放的值。
        <%
            pageContext.setAttribute("name", "page");
            request.setAttribute("name", "request");
            session.setAttribute("name", "session");
            application.setAttribute("name", "application");
        %>
        按普通手段取值<br>
        
        <%= pageContext.getAttribute("name")%>
        <%= request.getAttribute("name")%>
        <%= session.getAttribute("name")%>
        <%= application.getAttribute("name")%>
        
        <br>使用EL表达式取出作用域中的值<br>
        
        ${ pageScope.name }
        ${ requestScope.name }
        ${ sessionScope.name }
        ${ applicationScope.name }

2. 如果域中所存的是数组

<%
               String [] a = {"aa","bb","cc","dd"};
               pageContext.setAttribute("array", a);
           %>
           
           使用EL表达式取出作用域中数组的值<br>
           
           ${array[0] } , ${array[1] },${array[2] },${array[3] }

3. 如果域中锁存的是集合
       <%
           Map map = new HashMap();
           map.put("name", "zhangsna");
           map.put("age",18);
           map.put("address","北京..");
           
           map.put("address.aa","深圳..");

pageContext.setAttribute("map", map);
       %>
       使用EL表达式取出作用域中Map的值<br>
       
       ${map.name } , ${map.age } , ${map.address }  , ${map["address.aa"] }

JSTL

JSP Standard Tag Library  jsp标准标签库

简化jsp代码,一般与EL表达式配合。JSTL需要引入,方法可以百度。

JSTL的常用标签:

<c:set></c:set>
<c:if test=""></c:if>
<c:forEach></c:forEach>

用法示例:

* c:set

声明一个对象name, 对象的值 zhangsan , 存储到了page(默认) , 指定是session

<c:set var="name" value="zhangsan" scope="session"></c:set>   
        ${sessionScope.name }

* c:if

判断test里面的表达式是否满足,如果满足,就执行c:if标签中的输出 , c:if 是没有else的。

<c:set var="age" value="18" ></c:set>
        <c:if test="${ age > 26 }">
            年龄大于了26岁...
        </c:if>
        
        <c:if test="${ age <= 26 }">
            年龄小于了26岁...
        </c:if>

定义一个变量名 flag  去接收前面表达式的值,然后存在session域中

<c:if test="${ age > 26 }" var="flag" scope="session">
            年龄大于了26岁...
        </c:if>

* c:forEach

从1 开始遍历到10 ,得到的结果 ,赋值给 i ,并且会存储到page域中, step , 增幅为2,

<c:forEach begin="1" end="10" var="i" step="2">
            ${i }
        </c:forEach>

items : 表示遍历哪一个对象,注意,这里必须写EL表达式。
        var: 遍历出来的每一个元素用user 去接收。

<c:forEach var="user" items="${list }">
            ${user.name } ----${user.age }
        </c:forEach>

JSP & EL & JSTL的更多相关文章

  1. JavaEE之动态页面技术(JSP/EL/JSTL)

    动态页面技术(JSP/EL/JSTL) JSP技术 jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%= ...

  2. JavaWeb之JSP & EL & JSTL

    JSP & EL & JSTL JSP Java Server Page 什么是JSP 从用户角度看,就是一个网页.从程序员角度看,就是一个Java类,它继承Servlet,所以可以说 ...

  3. jsp&el&jstl mvc和三层架构

    jsp:java在html中插入java 一.JSP技术 1.jsp脚本和注释 jsp脚本:(翻译成servlet,源码位置apache-tomcat-7.0.52\work\Catalina\loc ...

  4. 动态页面技术JSP/EL/JSTL

    本节内容: jsp脚本和注释 jsp运行原理 jsp指令(3个) jsp内置/隐式对象(9个) jsp标签(动作) EL技术 JSTL技术 JavaEE的开发模式 动态页面技术:就是在html中嵌入j ...

  5. 回锅的美食:JSP+EL+JSTL大杂烩汤

    title: Servlet之JSP tags: [] notebook: javaWEB --- JSP是什么 ? JSP就是Servlet,全名是"JavaServer Pages&qu ...

  6. request+response+jsp+el+jstl

    response: 1.设置响应行的状态码: response.setStatus(int sc); 2.设置response缓冲区的编码:response.setCharacterEncoding( ...

  7. javaweb(3)之JSP&EL&JSTL

    JSP(Java Server Page) 介绍 什么是 JSP ? 从用户角度看,JSP 就是一个网页. 从开发者角度看,它其实就是一个继承了 Servlet 的 java 类,所以可以直接说 JS ...

  8. 04 jsp,EL,JSTL

    jsp:Java Server Page  什么是jsp?从用户角度看待 ,就是是一个网页 , 从程序员角度看待 , 其实是一个java类, 它继承了servlet,所以可以直接说jsp 就是一个Se ...

  9. 《JavaWeb从入门到改行》JSP+EL+JSTL大杂烩汤

    title: Servlet之JSP tags: [] notebook: javaWEB --- JSP是什么 ? JSP就是Servlet,全名是"JavaServer Pages&qu ...

随机推荐

  1. 使用pycharm进行远程开发部署调试设置 与 远程部署调试是否必须使用远程主机的解释器?

    远程开发部署调试目的: 配置pycharm远程部署调试主要用于本地代码与远程服务器上的代码进行同步,使得本地代码经过修改后,可以很容易的同步到远程服务器上.同时设置pycharm的解释器为远程服务器的 ...

  2. jmeter压测数据库,抓包工具,python基础

    jmeter压力测试 前提场景的设置:单场景(单个接口进行压力测试一个请求)或混合场景(有业务流程的场景进行压力测试多个请求),压测时间一般在5--1515分组具体看需求. 数据准备:数据量少和数据量 ...

  3. python爬虫基础应用----爬取校花网视频

    一.爬虫简单介绍 爬虫是什么? 爬虫是首先使用模拟浏览器访问网站获取数据,然后通过解析过滤获得有价值的信息,最后保存到到自己库中的程序. 爬虫程序包括哪些模块? python中的爬虫程序主要包括,re ...

  4. 【AGC030F】Permutation and Minimum DP

    题目大意 有一个长度为序列 \(a\),其中某些位置的值是 \(-1\). 你要把 \(a\) 补成一个排列. 定义 \(b_i=\min(a_{2i-1},a_{2i})\),求有多少种可能的 \( ...

  5. Spring Boot整合Elasticsearch

    Spring Boot整合Elasticsearch   Elasticsearch是一个全文搜索引擎,专门用于处理大型数据集.根据描述,自然而然使用它来存储和搜索应用程序日志.与Logstash和K ...

  6. echarts 折线拐点收藏

    拐点的样式有:

  7. 实验二 Java面向对象程序设计实验报告

    实验二 Java面向对象程序设计 实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4.熟悉S.O.L.I.D原则 5.了解设计模式 实验 ...

  8. The 19th Zhejiang University Programming Contest - H

    Princess Cjb is caught by Heltion again! Her knights Little Sub and Little Potato are going to Helti ...

  9. .NET框架 - NETCORE + API + EF + MYSQL

    .NET框架 - NETCORE + API + EFCORE + MYSQL 1. 新建项目: 本文中使用 框架 .netcore2.2 . 2. 生成项目框架 3 安装MYSQL插件 点击“工具” ...

  10. TCP和UDP的优缺点及区别

    1.TCP是什么? TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议. TCP的优点: 可靠,稳定 TCP的可靠体 ...