jsp(3,6,9) EL表达式及JSTL
1. jsp
1.1jsp是什么
全称: Java Server Pages,java服务器页面。和Servlet一样,是sun公司定义的一种动态网页开发技术。
特点:基于html模版,可以在html模版嵌入java代码和jsp中的标签。
备注:html静态页面。
CSS:修饰美化html页面。
JavaScript:动态修改html页面和css样式。
Servlet:运行在服务器上的java程序。适合编写java代码,写网页困难
jsp:适合编写动态内容,不适合写java代码,主要用于显示页面
1.2 为什么要用jsp
2.2 服务器调用的是已经编译好的JSP文件
2.3 JSP基于Java Servlet Api,有很多强大企业的支持。
2.4 JSP可以与处理业务逻辑的Servlet一起使用,该模式被Java Servlet模版引擎所支持。
1.3 JSP的优势
3.2 与JavaScript相比:虽然JavaScript可以在客户端动态生成HTML,但是很难与服务器交互,因此不能提供复杂的服务,比如访问数据库和图像处理等等。
3.3 与静态HTML相比:静态HTML不包含动态信息
1.4jsp的语法
1.4.1 jsp的语法格式
1.4.2 jsp注释
1.4.3 代码演示
1.5 jsp指令
告诉jsp引擎如何jsp文件中的内容
语法:<%@指令名称1="属性值" 属性名称2="属性值2"%>
示例:<%@page language="java" contentType="text/html";
charset=UTF-8" pageEncoding="UTF-8"%>
1.5.1 page指令
import和java 代码的含义一样
<%@ pageimport="java.util.Date.java.Util.List"%>
或者:
<% pageimport="java.util.Date"%>
<%pageimport="java.util.List"%>
session:是否会自动创建session对象,默认值为true;
buffer:jsp中有Java.servlet.jsp.JspWriter输出字符流。设置输出数据的缓存大小。默认8kb.
errorPage:如果页面有错误,跳转到指定的资源 errorPage="/uri"如果写"/"则代表当前目录下,
绝对路径。如果不写"/"则代表相对路径。
isErrorPage:是否创建throwable对象。默认是false
contentType:等同于response.setContentType("text-html",chartset=utf-8)服务器发送客户端的内容编码
pageEncoding:js文件本身的代码。
isELIgnored: 是否支持EL表达式。 默认是false,支持表达式, 是true,不支持表达式,${1+1};false输出结果2 true按照原样输出
1.5.2 include指令
include指令
静态包含:把其他资源包含到当前页面中<%@ include file="header.jsp%>
动态包含:<jsp:include page="header.jsp"></jsp:include>
两者的区别:翻译的时间段不同(可在tomcat工作目录下查看)
静态包含:在翻译时就把两个文件进行合并
动态包含:不会合并文件,当代码执行到include时,才会包含另一个文件的内容
1.5.3 taglib指令
作用:在jsp页面中导入JSTL标签库。替换jsp中的Java代码
<% taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c"%>
1.6 jsp的6个动作
jsp:include 动态包含
jsp:forward请求转发
jsp:param 请求设置参数
jsp:useBean创建一个对象
jsp:setProperty给指定的对象属性赋值
jsp:getProperty取出指定的对象属值
1.7 内置对象
对象名 | 类型 | 说明 |
request | javax.servlet.http.HttpServletRequest | |
response | javax.servlet.http.httpServletResponse | |
session | javax.servlet.http.httpSession | 由session=“true"开关 |
application | javax.servlet.ServletContext | |
exception | java.lang.Throwable | 由isErrorPage="false"开关 |
page | java.lang.Object当前对象是this | 当前servlet实例 |
config | java.servlet.ServletConfig | |
pagecontext | javax.servlet.jsp.jspWriter | |
out | javax.servlet.jsp.PageContext | javax.servlet.jsp.jspWriter |
代码演示:
1.8 pageContext对象
1.8.1 域对象
可以操作其他三个域对象(request,session,application)
1.8.2 它可以创建其它的8个隐式对象
在普通类中可以通过PageContext获取其它JSP隐形对象,具体如下:
getException方法返回exception隐形对象
getPage方法返回page隐形对象
getRequest方法返回的是request隐式对象
getServletConfig方法返回的是config隐式对象
getResponse方法返回的是response隐式对象
getServletContext方法返回application隐式对象
getSession方法返回session隐式对象
getOut方法返回out隐式对象
1.8.3 提供简易方法
pageContext.forward("2.jsp");
pageContext.include("2.jsp");
2. EL表达式
2.1 EL概述和基本的语法
EL表达式:expression language表达式语言
目的:简化jsp中java代码的开发
它不是一种开发语言而是jsp中获取数据的一种规范
格式如:${EL表达式}等价于findAttribute(name)
2.2 EL的具体功能
获取实体类中的属性值
2.3 使用list和map
2.4使用EL表达式的empty关键
3. JSTL
3.1 什么是JSTL
JSL:全称javaServletPage standard TagLibrary,jsp标准标签库
3.2jstl的作用
实现jsp页面中的逻辑处理。
3.3 使用jstl
必须在jsp页面添加tablib指令库
<%@ tagliburi="http://java.sun.com/jsp/jstl/core" prefix="c">
3.4常用标签的使用
3.4.1 通用标签 set ,out, remove
3.4.2 条件标签if,choose
<c:if> >
<c:choose>>
3.4.3迭代标签foreach
for 基础遍历
foreach遍历
扩展:
改变编码格式
点击window---选择preferences
jsp(3,6,9) EL表达式及JSTL的更多相关文章
- Java第三阶段学习(十四、JSP动态页面、EL表达式、JSTL标签库)
一.JSP技术 1.jsp脚本和注释 jap脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部,比如写在doget.dopost 内的代码 2) ...
- 简述jsp之EL表达式和jstl及其使用
Jsp的指令之include指令include指令:代表的是页面的包含. 作用:可以把一些jsp的页面包含在一起,对外展示. 页面的布局,现在已经不用了,现在都用css+div进行布局.include ...
- jsp EL表达式和JSTL标签if-else if-else用法
java web javaEE ,jsp EL表达式和JSTL标签if-else if-else四种用法一.条件运算符 ${user.gender==?'男':'女'} 二.if() <c:if ...
- [转]EL表达式和JSTL表达式实例
/* **Title:EL表达式和JSTL表达式实例 **Author:Insun **Blog:http://yxmhero1989.blog.163.com/ */ 为了方便写JSP,我们引入了E ...
- Java实战之04JavaWeb-04JSP、EL表达式、JSTL标签库
一.jsp部分 只要是与页面显示相关的都是重点 1.jsp的脚本 <%java代码%>:被翻译到service方法内部,局部变量,局部的功能 <%=表达式或变量%>:翻译成se ...
- EL表达式和JSTL标签库
expresion language表达式语言 可以输出表达式的值.跟jsp的表达式脚本一样.计算表达式的值后输出. EL表达式出现的目的是为了使JSP写起来更加简单,让jsp的代码更佳简化. 1. ...
- EL表达式、 jstl标签
https://www.cnblogs.com/zhaotiancheng/p/6391894.html https://blog.csdn.net/zdwzzu2006/article/detail ...
- Javaweb学习笔记6—EL表达式与JSTL及自定义标签
今天来讲javaweb的第六阶段学习. EL表达式与JSTL及自定义标签是对上篇文章介绍的JSP的扩展,不能说是很重要的东西,但是也要了解. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps: ...
- EL表达式、JSTL
EL表达式 一.简介 > JSP表达式 <%= %> 用于向页面中输出一个对象. > 到JSP2.0时,在我们的页面中不允许出现 JSP表达式和 脚本片段. ...
- (十)EL表达式和JSTL标签快速入门
目录 什么是 el 表达式 示例:使用EL表达式获取pageContext .request.session.application域中的数据: 示例:使用EL表达式获取Bean属性 获取当前WEB应 ...
随机推荐
- sitemesh 使用方法
一.简介 SiteMesh是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的. 它能通过创建一个包装对象,也就是装饰来包裹的对象.尽管它是由Java语言来实现的 ...
- SVN图标含义说明
最经都在用Svn,对他上面的很多状态图标不是很理解,看了看它的帮助文档,说的很清楚,特地截张图. Svn不同状态图标及说明 - 简单 - 简单 Normal A fresh checked ...
- Welcome to Erhan Blog
"Yeah It's on. " 前言 Erhan 的 Blog 就这么开通了. 跳过废话,直接看技术实现 2018 年,Hux 总算有个地方可以好好写点东西了. 作为一个程序员, ...
- BeWhatever
Hadoop Distributed File System:分布式文件系统. HDFS基于流数据模式访问和处理超大文件需求开发,具有高容错性,高可靠性,高可扩展性,多部署在低成本的硬件上.HDFS提 ...
- 《自动化平台测试开发-Python测试开发实战》第2次印刷
书籍货源比较紧张.紧张啊,如此短的时间,已经第2次印刷.第2次印刷. 第2次印刷. 同时该书已确认与台湾出版社合作翻译成繁体版,甚至有可能与国外出版社合作翻译成英文版. 2018年7月 第1次印刷 2 ...
- cordova+jquery form上传里面的一些诡异坑
在浏览器里面执行很正常的代码,打包到手机上测试就出问题了,浏览器中的执行版本如下: <!DOCTYPE html> <html lang="en"> < ...
- springboot利用swagger构建api文档
前言 Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件.本文简单介绍了在项目中集成swagger的方法和一些常见问题.如果想深入分析项目源码,了解更多内容,见参考资料. S ...
- C#开发BIMFACE系列30 服务端API之模型对比1:发起模型对比
系列目录 [已更新最新开发文章,点击查看详细] 在实际项目中,由于需求变更经常需要对模型文件进行修改.为了便于用户了解模型在修改前后发生的变化,BIMFACE提供了模型在线对比功能,可以利用在 ...
- C# 关于位运算的学习笔记
一.理解什么是位运算 程序中的所有内容在计算机内存中都是以二进制的形式储存的(即:0或1),简单来说位运算就是直接对在内存中的二进制数的每位进行运算操作. 二.学习前先了解一下有哪些运算,运算符都怎么 ...
- [面试专题]前端需要知道的web安全知识
前端需要知道的web安全知识 标签(空格分隔): 未分类 安全 [Doc] Crypto (加密) [Doc] TLS/SSL [Doc] HTTPS [Point] XSS [Point] CSRF ...