一、jsp部分

只要是与页面显示相关的都是重点

1.jsp的脚本

<%java代码%>:被翻译到service方法内部,局部变量,局部的功能

<%=表达式或变量%>:翻译成service方法中out.write(表达式或变量)

<%!java代码%>:被翻译成servlet的全局的内容,方法,全局变量

2.jsp的运行原理

jsp在运行时翻译成servlet

index.jsp------>work/index_jsp.java----->work/index_jsp.class

3.jsp的注释

html注释:<!--注释-->  可见范围:html源码可见

java注释:注释写到脚本  //   /**/   /***/   可见范围:翻译后的servlet

jsp注释:<%--注释--%>  可见范围:jsp源码范围可见

4.jsp的指令

jsp的指令:page指令 taglib指令 include指令

jsp指令的一般格式:<%@ 指令名称 属性=“属性值” 属性=“属性值”%>

(1)page指令

配置整个jsp的信息

属性:

language:jsp中的脚本可以嵌入的语言代码  只能嵌入java 默认嵌java

import:在jsp中导入包

pageEncoding:本身jsp的编码  内部已经包含contentType

contentType:翻译成response.setContentType("text/html; charset=GBK");

errorPage:jsp出错后的跳转的地址

isErrorPage:true代表本身是一个错误处理的页面

isELIgnored:jsp是否可以解析el表达式 默认是false 可以解析

session:是否自动创建session

buffer:out缓冲区的大小 可以设置为0kb

(2)taglib指令

引入标签库

<%@ taglib uri=”” prefix=””%>

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

(3)include指令

包含页面用----静态包含

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

5.jsp的九大隐式对象(面试笔试常问)

什么是隐式对象?

在jsp脚本中直接使用的对象

request

response

pageContext

session

application

config

out

page

exception

其中

out对象:JspWriter

out.write()---->页面写内容

pageContext对象:页面的上下文对象

1)pageContext是一域对象

可见范围:当前jsp页面

setAttribute(name,value)

getAttribute(name)

removeAttribute(name)

setAttribute(name,value,scope)

getAttribute(name,scope)

removeAttribute(name,scope)

其中scope是指定的域范围

pageContext.setAttribute("name", "zhangsan", PageContext.SESSION_SCOPE);

findAttribute(name);

底层实现:从四个域中寻找属性 从小到大的顺序 找到属性后 后面的域不在寻找了

page域---->request域----->session域----->application域

${requestScope.name}

${name}-----底层findAttribute()

2)pageContext可以获得其他八大隐式对象

6.jsp的标签(jsp的动作)

<jsp:include>----面试经常问

包含页面----动态包含

静态包含与动态包含的区别?

静态包含:先将被包含的jsp与包含的jsp进行源码级别的合并,然后在翻译成一个servlet

动态包含:将两个jsp分别翻译,在运行阶段在将结果合并

<jsp:forward>

<jsp:param>

<jsp:useBean>

<jsp:setProperty>

<jsp:getProperty>

二、EL表达式

E L(Expression Language) 目的:为了使JSP写起来更加简单

1.El可以获取域中的数据

${pageScope.name}

${requestScope.name}

${sessionScope.name}

${applicationScope.name}

${name}

2.El可以进行运算

${1+1}

${name==’zhangsan’?true:false}

${list[2].name=='aaa3'?"等于":"不等于" }

关键字empty

${empty 域中的对象/变量}----->true/false

3.EL的内置对象  11个(了解)

pageScope   requestScope   sessionScope    applicationScope

pageContext

${pageContext.request.contextPath }

4.El调用函数(方法)

使用步骤:

1)引入el函数库
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>

2)在jsp页面上使用el函数

语法:${fn:函数(参数)}  返回值就是处理后的结果

${fn:toUpperCase("ahdkjalskhd")}

---->AHDKJA....

三、jstl标签库

JSTL(JSP Standard Tag Library,JSP标准标签库),替代jsp脚本中的逻辑代码

1.JSTL标签的组成

标签库功能描述

标签库的URI

建议前缀

核心标签库

http://java.sun.com/jsp/jstl/core

c

XML标签库

http://java.sun.com/jsp/jstl/xml

x

国际化/格式化标签库

http://java.sun.com/jsp/jstl/fmt

fmt

数据库标签库

http://java.sun.com/jsp/jstl/sql

sql

EL函数

http://java.sun.com/jsp/jstl/functions

fn

2.jstl的核心库

开发步骤:

1)页面引入jstl核心库<%@ taglib%>

2)在页面使用jstl核心库标签

jstl标签:

<c:forEach>

两种使用方式:

a) items+var+varstatus

b) begin+end+var

<c:if>

test属性:内部是一个boolean的判断

<c:set>

直接向域中设置数据

var:域中的数据的name

value:域中的数据的value

scope:哪个域

Java实战之04JavaWeb-04JSP、EL表达式、JSTL标签库的更多相关文章

  1. jsp学习---mvc模式介绍和el表达式,jstl标签库的使用入门

    一.mvc模式介绍 下图是常用的mvc分层模式: 项目中的包命名规则,一般如下: com.amos.domain 封装JavaBean,一般我喜欢用model命名这个包com.amos.dao 封装d ...

  2. JavaWeb基础Day17 (JSP EL表达式 jstl标签库 beanutil工具类)

    JSP jsp的实质就是指在html界面中嵌入Java代码 jsp脚本 <%  Java代码  %>  相当于写在service方法中. <%=java 变量或者表达式 %> ...

  3. 2.EL表达式&JSTL标签库常用方法

    1.EL表达式 Expression Language表达式语言,主要是代替jsp页面中的表达式脚本在jsp页面中进行数据的输出. 格式为${表达式} EL表达式输出Bean的普通属性.数组属性.Li ...

  4. java攻城师之路--复习java web之jsp入门_El表达式_JSTL标签库

    JSP 技术掌握:JSP语法 + EL + JSTL 为什么sun推出 JSP技术 ? Servlet 生成网页比较复杂,本身不支持HTML语法,html代码需要通过response输出流输出,JSP ...

  5. 复习java web之jsp入门_El表达式_JSTL标签库

    JSP 技术掌握:JSP语法 + EL + JSTL 为什么sun推出 JSP技术 ? Servlet 生成网页比较复杂,本身不支持HTML语法,html代码需要通过response输出流输出,JSP ...

  6. jsp之el表达式jstl标签

    不管是el表达式还是jstl标签最终的目的都是要消除jsp中的java代码,当然是消除显式的java代码 el表达式的出现是为了简化jsp中读取数据并写入页面的操作. el表达式的功能不多,也很好记 ...

  7. el和jstl标签库讲解视频

    https://www.bilibili.com/video/av22415283/?p=1

  8. EL表达式与标签库

    https://blog.csdn.net/panhaigang123/article/details/78428567

  9. Java第三阶段学习(十四、JSP动态页面、EL表达式、JSTL标签库)

    一.JSP技术 1.jsp脚本和注释 jap脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部,比如写在doget.dopost 内的代码 2) ...

随机推荐

  1. 剑指OFFER之顺时针打印矩阵(九度OJ1391)

    题目描述: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2 ...

  2. SQLite使用教程11 表达式

    SQLite 表达式 表达式是一个或多个值.运算符和计算值的SQL函数的组合. SQL 表达式与公式类似,都写在查询语言中.您还可以使用特定的数据集来查询数据库. 语法 假设 SELECT 语句的基本 ...

  3. 如何让OpenSSL得到JKS格式的keystore中的public and private key

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  4. SQLMAP实用实例(转)

    sqlmap使用笔记:http://wenku.baidu.com/view/8c507ffcaef8941ea76e055e.html  BT5下使用SQLMAP入侵加脱裤:http://www.m ...

  5. mysql学习--mysql必知必会1

     例如以下为mysql必知必会第九章開始: 正則表達式用于匹配特殊的字符集合.mysql通过where子句对正則表達式提供初步的支持. keywordregexp用来表示后面跟的东西作为正則表達式 ...

  6. android驱动[置顶] 我的DIY Android之旅--驱动并控制你的Android开发板蜂鸣器

    改章节个人在深圳游玩的时候突然想到的...这几周就有想写几篇关于android驱动的博客,所以回家到之后就奋笔疾书的写出来发布了 这些天一直在想Android驱动框架层的实现,本文借助老罗教师的博客和 ...

  7. Get Files from Directory

    http://www.csharp-examples.net/get-files-from-directory/ Get Files from Directory [C#] This example ...

  8. 继续推广我的新博客xysay:http://www.xysay.com/

    RT 博客收拾了一下,准备以后就在那里记录论文笔记啦,求交流,求推荐,求友链~~~ http://www.xysay.com/

  9. TigerDLNA for ios 集成Tlplayer

    好久没有写博客了,这次带着TigerDLNA for ios 跟大家见面 什么都不说先上图 1.优点 优点由于libTigerDLNA使用uiview封装,所以大家可以很方便的集成到自己的项目中.由于 ...

  10. firefly 问题

    1.G:\servers\Python27\Lib\mimetypes.py reload(sys) sys.setdefaultencoding('gb18030') 2.G:\servers\Py ...