EL表达式的作用:

在取值方面,完全替代了原来jsp中的java脚本,取值非常方便,在jsp中不用导包了。
1.获取数据
我们以前从域中获取数据:getAttribute
取得参数值:getParameter
取得全局参数值等等。
2.执行运算
取得运算的布尔值搭配JSTL标签库来使用

EL表达式的语法

EL表达式是通过key来取值,${key}
例1:

<%
String str1 = (String)request.getAttribute("str1");
%>
<&=str1%>

以上例子中的getAttribute以后就可以不再使用了,key就是str1
${requestScope.str1}
xxxScope可以省略,默认从最小的域开始搜索。

EL表达式获取其他常用类型的值

使用EL表达式不用导包,自动识别。
获取的内容一般在Servlet中
1.获取数组值

${strArr[1]}

2.获取List值

${strList[1]}

3.获取Map值
域名.键名

${strMap.m1}Map<String,String> map = new HashMap<String,String>();map.put("str1","aaa");request.setAttribute("myMap",map);${myMap.str1}

4.domain

Student stu = new Student("A01","lyn",23);request.setAttribute("stu",stu);${s.id}相当于s.getId${s.name}${s.age}

JSTL的分类:

1.core核心类库: if foreach
2.fmt:格式化,将日期转换成String 国际化(用的比较少)
在servlet中处理好之后,jsp什么都不用干,拿到数据之后无脑展现
3.xml sql已经过时
4.函数库很少用

JSTL的创建步骤

1.导jar包(jstl.jar standard.jar)
2.在页面中导入标签库

<%taglib prefix="c" uri="jsp/jstl/core"%>

3.jstl标签的使用
c:if

<c:if test="${5>3}">
5是大于3的
</c:if>

因为没有else,取反来代替else,必须搭配EL表达式来使用
c:foreach
items:遍历的集合,需要搭配EL表达式来取值
var:每一次遍历出来的元素,需要搭配EL表达式来取值
varStatus:每一次遍历出来的元素的状态,常用属性count,通过取得当前元素是第几条(做序号用),搭配EL表达式来取值
begin:取值的开始下标
end:取值的结尾下标
step:每隔多少值取一个值

<c:forEach items="${sList}" var="s" varStatus="vs" begin="1" end="3">
${s}--${vs.count}<br/>
<c:forEach>
<c:set  var="count" value="4">c:choose相当于java中switch选择结构
<c:choose>
<c:when test="${count==1}">
计数1
</c:when>
<c:when test="${count==2}">
计数2
</c:when>
<c:otherwise>
不在范围内
</c:otherwise>
</c:choose>

EL$JSTL简化jsp开发中的代码量相关推荐

  1. VS开发中的代码编写小技巧——避免重复代码编写的几种方法

    原文:VS开发中的代码编写小技巧--避免重复代码编写的几种方法 上一篇文章中程序员的幸福生活--有你的日子,每天都是情人节,收到了大家的很多好评.鼓励和祝福,非常感动,真诚的谢谢大家.也希望每个朋友都 ...

  2. WordPress开发中常用代码(必备)

    很多人在WordPress开发中常用代码,WordPress 相比其它网站程序,最突出的优势:主题模板多,插件多,相关技术文章多,只要你想到的功能,都可以通过插件或者代码实现.现在分享下WordPre ...

  3. 【HM】第11课:JSTL标签+JSP开发模式

    <pre> day11 昨天内容回顾 (1)jsp *jsp的三个指令 *jsp里面九个内置对象 request response session config application e ...

  4. jsp开发中cannot resolve taglib with uri的解决方法

    问题描述: IDE错误提示:cannot resolve taglib with uri http://java.sun.com/jsp/jstl/fmt 或者 cannot resolve tagl ...

  5. 老手讲解在JSP开发中与Web的中文问题解决方法

    这段时间经常看到有人问到web开发中怎么中文总是?号.原因其实很简单,因为大家大多用的是tomcat服务器,而tomcat服务器的默认编码为 iso-8859-1(西欧字符).就是因为iso-8859 ...

  6. JSP文件中Java代码的几种形式(JSP脚本)

    文章目录 第一种形式(Java 代码片段) 第二种形式(JSP 表达式) 第三种形式(JSP 声明) 第四种形式(JSP 指令) 第一种形式(Java 代码片段) 原样复制到 service() 方法 ...

  7. 开发中的代码管理工具熟知

    一. 掌握 - git 概述 1. git 简介? 1.什么是git? > git是一款开源的分布式版本控制工具 > 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 2 ...

  8. 在项目开发中统计代码行数的6种方式

    文章目录 一.使用find和wc命令统计代码行数 进行参数的过滤筛选 命令参数简要说明 二.PowerShell工具统计代码行数 条件过滤 输出所有文件的行数 PowerShell相关命令的简要说明 ...

  9. ios开发中计算代码运算时间_iOS日历、日期、时间的计算

    时间和日历的计算在iOS开发中经常看到,经常看到大家在百度,开源中国等搜索这些答案.今天写个简单的时间和日历有关的计算. 获取一个月的总天数 1.获取当月的天数 - (NSInteger)getNum ...

  10. ios开发中计算代码运算时间_理解Unity中的优化(二):内存

    内存: 内存消耗是一个关键的性能指标,尤其是在内存资源有限的平台上,比如低端移动设备. 内存消耗分析: 在Unity中诊断内存问题,Unity介绍了一款开元的可视化内存分析工具--MemoryProf ...

最新文章

  1. Mac OS X 10.9 装gdb
  2. 必须要用发展的眼光来看诺基亚和微软的合作
  3. 欢乐纪中某B组赛【2019.1.27】
  4. php 逗号千分位,PHP中number_format函数输出数字格式化,增加千分位符号
  5. MQTT教程(一):MQTT简介
  6. Unity游戏开发经验点滴
  7. 曾宪武《物联网通信技术》课后答案(二)
  8. js原生 阿拉伯数字转中文大写 (金额)
  9. 逍遥模拟器 设置端口号
  10. 190108每日一句
  11. nalu格式annex-B和avcc
  12. Cadence IC617工艺库安装步骤
  13. 织梦dedecms 仿制目标网站首页
  14. 滑稽树下你和我(树+贡献)
  15. Win7电脑系统录屏功能使用教程分享
  16. 公众版与政企版,这两款云电脑我都要
  17. 【敬伟ps教程】历史工具、画笔、橡皮擦
  18. 云免流控服务器响应失败,云免流服务器限速
  19. noip2007守望者的逃离(超级详细,逐步解析)
  20. 山西师范大学计算机科学与技术专业怎么样,山西师范大学最好的专业是什么

热门文章

  1. 虚拟服务器 emule,emule服务器
  2. 8位并行左移串行转换电路_单片机试题
  3. python实现简单的词形统计
  4. 计算机培训后的感言,计算机中级培训感言
  5. 22个最常见的Python3 包
  6. 鸿蒙os基带版本,华为推出基于鸿蒙OS的Hi3861开发板
  7. circos 可视化手册-plots 篇
  8. 延续性动词与非延续性动词及其转换
  9. Saas平台级架构:统一身份认证管理系统用户权限管理
  10. python爬取二手房信息,基于python爬取链家二手房信息代码示例