EL表达式和JSTL标签
1.EL表达式:
1.1初识 EL表达式
EL在开发中,通常是用来获取域对象中保存的值,基本语法:${域对象的名称}。
比如说:request.setAttribute("key" , "value123"): ${ "key"},获取的值就是value123
如果域对象的名称写错了,使用el表达式获取值,获取的是 "" 空串
1.2EL表达式中的标识符
在el书写过程中,会用一些符号来标记标量、函数名等,这些符号称之为标识符
书写规范:
1.不能以数字开头
2.不能包含el中的关键字:and,or等
3.不能使用el表达式的隐式对象。
4.不能包含特殊符号,比如正斜杠等
1.3EL中的变量
基本格式:${域对象的名称},这个域对象的名称可以理解为就是el中的变量,
这个变量就不需要定义了,可以直接使用。
1.4EL中的常量
1.布尔常量:true或false
2.数字常量:整型、浮点等常量,使用方式和java差不多
3.字符串常量:使用方式和java差不多,比如:${ "el的字符串常量""}
4.Null常量:${nu1}
1.5EL中的运算符
1.点运算符:获取域对象中属性的值。
比如:${person.name }
2.方括号运算符:在域对象里,有的属性包含特殊字符,所以用方括号的方式来获取值
比如:<%
Map<String,string> map= new HashMap<String,String>();
map.put( "my-name" , "map的值");
request.setAttribute( "user",map);
%>
${user[ "my-name"] }
3.算术运算符:与Java一样
4.比较运算符:与Java一样
5.逻辑运算符:与Java一样
6.empty运算符:用来判断域对象中的值是否存在,不存在返回为true,否则返回的结果是false,
7.三目运算符:与Java一样
1.6EL中的 隐式对象
1.pageContext对象:为了获取jsp中的隐式对象。
比如:
获取项目的路径:${pageContext.request.contextPath }<br/>
获取请求的URL :${pageContext.request.requestURI }
2.web域相关的对象
域作用范围从小到大:pageContext--->request--->session--->application(servletContext)
el表达式获取域对象中的值:如果域对象的名称相同,获取的是域作用范围最小的值。
和pageContext对象的findAttribute方法的效果是一样的。
3.param和paramValues对象:获取表单提交的数据。
比如:
num1 :<input type="text" name="num1" /><br/>
num2 :<input type="text" name="num”/><br/>
num3 :<input type="text" name="num"/><br/>
<input type="submit" value="提交”/> <input type="reset" value="重填”/><hr/>
num1:${param.num1 }<br/>
num2:${paramValues.num[0] }<br/>
num3:${paramValues.num[1] }
4. Cookie对象:获取cookie的名称,获取cookie的值
比如:
<% response.addCookie(new Cookie("userName","itcast"));%>
获取cookie对象:${ cookie.userName }<br/>
获取cookie的名称:${ cookie.userName.name }<br/>
获取cookie的值:${ cookie.userName.value }<br/>
2.JSTL
2.1什么是JSTL
JSTL: JavaServer Pages Standard Tag Libary,java服务器段页面的标准标签库,其实就是在jsp页面上使用的标签库。
]STL标签库有五个组成,通常使用核心标签库。
在jsp页面上面引入标签库:<@ taglib uri="标签库的url地址" prefix="标签的前缀”%>
2.2JSTL的下载和使用
1.在jsp页面使用taglib指令引入标签库
2.导入jstl相关的jar包
3.测试
2.3JSTL中的Core标签
1.<c: out>标签:向网页输出内容
基本语法:
第一种:<c:out value="el表达式获取值" default="值" escapeXml="true或者false">x</c:out>
第二种: <c:out value="el表达式获取值" escapeXml="true或者false">默认值</c:out>
default:如果value属性获取到了值,就输出这个值,如果没有获取到,就输出default属性对应的值
escapeXml(默认值true):如果值为true,就会把html标记当成普通的字符串输出,如果值为false,就会正常解析html标记,正常输出
2.<c:if>标签:进行条件判断,和java类中的if很相似
基本语法:
第一种:<c:if test="条件表达式"var="变量名称"scope="域的范围"></c:if>
第二种: <c:if test="条件表达式" var="变量名称" scope="域的范围">标签体内容</c:if>
在开发中,经常使用第二种
test属性:如果返回值为true,就输出标签体内容,否则就不输出。
3.<c:choose>标签:进行条件判断,和java类中的if,else if(),else if()---else很相似
基本语法:
<c:choose>
<c:when test="条件表达式">标签体内容</c:when>
<c:when test="条件表达式">标签体内容</c:when>
--------------
<c:otherwise>标签体内容</c:otherwise>----->else
</c:choose>
4.<c:forEach>标签:遍历域对象中的数组和集合,和java类中的for循环很相似
基本语法:
第一种::<c:forEach var="yuanshu" items="数组或者集合中的值" begin="下标" end="结束的下标"step="遍历的增量"×x/c:for>
普通for:
for( int i=o; i<数组或集合的长度;i+)
第二种:<c:forEach var="yuanshu" items="数组或者集合中的值"x</c:forEach>
增强for:
for(String yuanshu:数组或者集合){ yuanshu }
varStatus属性: count表示序号,index表示索引(下标),first判断是否是第一个元素
last判断是否是最后一个元素
5.<c:param>标签和<c:url>标签:设置路径和传递参数。
基本语法:
<c :url var="变量名称"url="路径值">
<c:param name="属性名称" value="属性值"></c:param>
-------------
</c:url>
开发的访问路径:
>>>1.绝对路径:
第一种: http:/ / localhost:8080/ JSTL/ login.html
>>>2.相对路径:
直接写访问的资源路径:比如login.html
EL表达式和JSTL标签相关推荐
- java el表达式 if else_jsp EL表达式和JSTL标签if-else if-else用法
java web javaEE ,jsp EL表达式和JSTL标签if-else if-else四种用法 一.条件运算符 ${user.gender==?'男':'女'} 二.if() code.. ...
- spring mvc学习(37):JavaEE-JSP基础-EL表达式和JSTL标签库(Taglibs)
EL表达式和JSTL标签库: 在JSP页面代替java代码,便于编写 一.EL表达式 作用: ${} 简化脚本表达式 <%= %> j2ee1.4以前版本需指定<%@ page is ...
- java标签库jstl-el表达式介绍使用配置手册_JAVA EE 实验报告EL表达式和jstl标签库的使用...
昆明理工大学信息工程与自动化学院学生实验报告 ( 2013 -2014 学年第一学期) 课程名称:Java EE技术开课实验室:系机房444 2013 年 12月2 日年级.专业.班计科111 学号姓 ...
- JavaWeb EL表达式, JSTL标签及过滤器综合学习
1.项目结构如右边图所示: (1)controller.filter包下面定义2个过滤器,EncodingFilter 类CheckUserFilter类(后面会有一个登陆验证的过滤器的测试学习), ...
- 28. EL 表达式 以及 JSTL 标签库
28. EL 表达式 以及 JSTL 标签库 1.EL 表达式 a)什么是 EL 表达式,EL 表达式的作用? EL 表达式的全称是:Expression Language.是表达式语言. EL 表达 ...
- EL表达式和JSTL标签:简化JSP的Java代码
JSP页面接收.展示后端的数据,再JSP页面写很多的Java代码会造成书写麻烦.难以阅读.不利于团队协作的缺点,因此我们使用EL表达式和JSTL标签,代替并简化了JSP页面 EL表达式 语法:${st ...
- jsp脚本、jsp标准动作、EL表达式、JSTL标签
https://blog.csdn.net/gx_hxl/article/details/79032331 https://blog.csdn.net/a731604348/article/detai ...
- Java Web - EL表达式和JSTL标签库
在使用servlet和jsp的过程中,两者之间的数据流转是十分常见的,jsp实际上也是一种servlet,也就是两个servlet之间的数据流转,我们根据不同的使用场景选择使用,请求转发(在reque ...
- Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用
来自:http://blog.csdn.net/love_you_99/article/details/8184797 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极 ...
- 方立勋_30天掌握JavaWeb_JavaBean、mvc开发模式、el表达式、jstl标签
什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法暴露 ...
最新文章
- Python中函数的参数定义和可变参数
- 从Win8预览版的发布来选择最合适的虚拟机软件
- python有趣代码-盘点10个一行强大的、有趣的Python源代码
- 2022年全球及中国固态电解质(SSE)行业应用现状与十四五投资潜力分析报告
- linux降内核版本_ubuntu16.04降级内核版本至3.13.0-85
- SpringCloud Netflix Eureka
- 推荐系统——矩阵分解FM
- 前沿 | 加州理工大学什么是Imitation Learning(模仿学习)
- 操作系统简介-计算机历史、进程(一)
- 零基础轻松学mysql_零基础轻松学MySQL 5.7
- [javascript]实现登陆界面拖动窗口
- webstorm配置scss自动编译路径
- Unity MRTK语音输入
- php调用平安银行接口,PHP-Java-Bridge的使用(平安银行支付功能专版)
- 整理了一份嵌入式相关开源项目、库、资料
- directx 11 64位
- 常用算法实现(五)——python阿拉伯数字转中文
- Qt 开源项目收集大全
- 学习Mac开发第四弹 通过NSImageView加载图片
- C语言常用算法题 (嵌入式算法题) 28道