EL 和 JSTL
EL
什么是EL表达式
- EL(Express Lanuage) 表达式可以嵌入在jsp页面内部
- 减少jsp脚本的编写
- EL出现的目的是要替代jsp页面中脚本的编写
作用区间
- EL最主要的作用是获取四大域中的数据
- 从四大域中获取数据
- pageContext - ${pageScope.key}
- request - ${requestScope.key}
- session - ${sessionScope.key}
- application - ${applicationScope.key}
- 简写
- ${EL表达式}
- EL从四个域中获取某个值${key}
- 依次从pageContext,request,session,application域中 获取属性在某个域中获取后将不在向后寻找
EL内置11个对象
- pageScope - 获取JSP中pageScope域中的数据
- requestScope - 获取JSP中requestScope域中的数据
- sessionScope - 获取JSP中sessionScope域中的数据
- applicationScope - 获取JSP中applicationScope域中的数据
- param - request.getParameter()
- paramValue - request.getParamValue
- header - request.getHeader(name)
- headerValue - request.getHeaderValues()
- initParam - this.getServletContext().getInitParamter(name)
- cookie - request.getCookies()---cookies.getName()---cookies.getValue()
- pageContext
- pageContext获取其他八大对象
- 获取当前项目名称 - ${pageContext.request.contextPath}
EL执行表达式
- 内部可以运算,只要有结果
- ${1+1}
- ${empty user}
- ${user==null?true:false} -
JSTL
什么是JSTL
- JSTL(JSP Standard Tag Library),JSP标准标签库
- 可以嵌入在jsp页面中使用标签的都形式完成业务逻辑等功能
- jstl出现的目的同el一样是要代替jsp页面的脚本代码
JSTL标准标签库有5个字库
- Core:核心库 - http://java.sun.com/jsp/jstl/core - 前缀:c
- I18N:国际化库 - http://java.sun.com/jsp/jstl/fmt - 前缀:fmt
- SQL - http://java.sun.com/jsp/jstl/sql - 前缀:sql
- XML - http://java.sun.com/jsp/jstl/xml - 前缀:x
- Functions - http://java.sun.com/jsp/jstl/functions - 前缀:fn
把JSTL标签库jar包引入工程当中
引入标签库 - <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
if标签

- 通过结合EL表达式一起使用,EL从域中取数据,使用JSTL进行判断或者遍历 -

if标签使用
- 需求:用户登录成功时,进入首页中,显示用户名
- 步骤
1.登录成功时,把用户写到session域当中 -

- 2.在首页当中进行判断,从session域当中取数据
3.通过EL结合JSTL进行判断 -

foreach标签
第一种:普通循环 -

- 第二种:增强for循环
遍历字符串集合 -

遍历对象集合 -

遍历map -

商品列表展示 -

JavaEE模式
什么是开发模式
- 模式是在开发过程中总结出的“套路”,总结出的一套约定俗成的设计模式
javaEE模式
- model1模式
- 技术组成 - jsp + javaBean
- 弊端 - 业务多时,导致jsp页面混乱
- model2模式
- jsp + servlet + javaBean
- 优点
- 开发中使用各个技术擅长的方面
- servlet擅长java的业务代码
- jsp擅长页面的展示
- MVC
- Model - javaBean : 封装数据
- View - JSP : 页面显示
- Controller - servlet :获取数据,对数据进行封装,传递数据,指定页面
- 三层架构
- web层 - 与客户交互
- service层 - 复杂业务逻辑
- dao层 - 与数据库进行交互

此处为从零玩转java之无web服务器课堂笔记,方便复习.
最后推荐一个博客主 蚂蚁小强:https://www.cnblogs.com/myxq666/

- 全栈视频学习网站:撩课学院(www.itlike.com)
EL 和 JSTL的更多相关文章
- jsp与El,jstl知识点总结归纳
jsp与El,jstl知识点总结归纳 jsp部分 一.jsp的三大指令 page ,include,taglib 1.jsp中的page指令 <% page %>-设置jsp 例如: &l ...
- JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门
2 JSP内置标签(美化+业务逻辑) 1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容 2)JSP内 ...
- 在idea的maven项目使用el或jstl表达式
必须加上这句: <%@ page isELIgnored="false" %> 否则无法解析el或jstl表达式 <%@ taglib prefix=" ...
- 第75节:Java的中的JSP,EL和JSTL
第75节:Java中的JSP,EL和JSTL 哭吧看不完的!!! Cookie和`Session 请求转发和重定向的区别: 地址不一样 请求次数也不一样 数据无法传递 4.跳转范围有限制 效率 请求转 ...
- JSP、EL、JSTL
JSP(Java Server Pages) 什么是JSP Java Server Pages(Java服务器端的页面) 使用JSP:SP = HTML + Java代码 + JSP自身的东西.执行J ...
- jsp中的EL和JSTL的关系
对于JSTL和EL之间的关系,这个问题对于初学JSP的朋友来说,估计是个问题,下面来详细介绍一下JSTL和EL表达式他们之间的关系,以及JSTL和EL一些相关概念! EL相关概念 JSTL一般要配合E ...
- Jsp应用EL和JSTL实例对比。
普通方式: register.jsp <%@ page language="java" import="java.util.*" pageEncoding ...
- Unit05: WEB项目的开发模式 、转发 和 Unit09: EL、JSTL
Unit05: WEB项目的开发模式 .转发 和 Unit09: EL.JSTL dao package dao; import java.io.Serializable; import jav ...
- 2017.11.16 JavaWeb-------第八章 EL、JSTL、Ajax技术
第八章 EL.JSTL.Ajax技术 ~~ EL (expression language) 是表达式语言 ~~ JSTL(JSP Standard Tag Library) 是开源的JSP标准标签库 ...
随机推荐
- notepad++支持自定义文件类型
场景描述: 使用notepad++编辑less.ejs文件,发现高亮和提示均无效,修改如此需要进行额外的设置: 解决方法: 以less为例, 1.设置 >语言格式设置 >语言里找到CSS, ...
- hdu 3696 10 福州 现场 G - Farm Game DP+拓扑排序 or spfa+超级源 难度:0
Description “Farm Game” is one of the most popular games in online community. In the community each ...
- Sqlserver:datetime类型的精度(不确定性)问题
转自http://www.xuebuyuan.com/212359.html 背景:近日进行大型数据表的迁移处理,遭遇创建 主键时 索引键值重复的错误.仔细检查原始表,并未有任何问题.分析后发现是迁移 ...
- 解决eclipse maven install 造成JVM 内存溢出(java.lang.OutOfMemoryError: Java heap space)
maven install 报错信息: The system is out of resources.Consult the following stack trace for details.jav ...
- tensorflow命令行参数:tf.app.flags.DEFINE_string、tf.app.flags.DEFINE_integer、tf.app.flags.DEFINE_boolean
tf 中定义了 tf.app.flags.FLAGS ,用于接受从终端传入的命令行参数,相当于对Python中的命令行参数模块optpars(参考:python中处理命令行参数的模块optpars)做 ...
- Git 将代码恢复到一个历史的版本
Git 将代码恢复到一个历史的版本 要把代码回到某个历史版本 比如 test有两种方法 暴力的方式 如果你的仓库是自己在用(不影响别人),那么你可以使用 git reset --hard <ta ...
- .NET/C# 使用反射调用含 ref 或 out 参数的方法
使用反射,我们可以很容易地在运行时调用一些编译时无法确定的属性.方法等.然而,如果方法的参数中包含 ref 或 out 关键字的时候,又该怎么调用呢? 本文将介绍如何反射调用含 ref 或 out 关 ...
- 注册dll文件
1.打开"开始-运行-输入regsvr32 XXX.dll",回车即可 2.win7 64位旗舰版系统运行regsvr32.exe提示版本不兼容 在运行regsvr32.exe的时 ...
- Oracle简单的SQL处理
--单表插入insert into hr.job(job_id,job_title,min_salary) values('IT','Project Manager',50000); insert i ...
- Linux交叉编译工具链和模块编译
所有的工具: aarch64-poky-linux-addr2line aarch64-poky-linux-c++filt aarch64-poky-linux-g++ aarch64-poky-l ...