JSP的el标签、jstl标签

沙海 2018年11月13日14:05:08Java JavaWeb评论285字数 2306阅读7分41秒阅读模式

JSP

概述

jsp:Java Server Pages --java服务器端的页面技术文章源自JAVA秀-https://www.javaxiu.com/555.html

html代码+java代码+jsp代码的组合 后缀名:.jsp 存放位置: 和html一致文章源自JAVA秀-https://www.javaxiu.com/555.html

总结:jsp就是能写java代码的html页面文章源自JAVA秀-https://www.javaxiu.com/555.html

作用

JSP的el标签、jstl标签文章源自JAVA秀-https://www.javaxiu.com/555.html

servlet对于数据的展示过于麻烦
jsp:接受服务器端servlet产生的各种数据(map/数组/list/对象),进行数据展示的

jsp的使用

jsp本质上就是一个servlet文章源自JAVA秀-https://www.javaxiu.com/555.html

Servlet本质上是一个java类
java类:具有.java  .class (work目录)
jsp的执行原理:(理解和面试题)
1:根据请求的页面去当前项目下找到指定的jsp 没找到会报404
2:找到对应的jsp文件后.将jsp文件变成java文件.并调用编译器编译成class文件,最终放在了work目录下
3.编译后的class文件会被服务器当做Servlet执行,生成动态的内容,将动态的内容返回给服务器
4.服务器拿到生成的内容,组装成响应信息,返回给浏览器
5.浏览器收到响应,展示内容

jsp的语法:文章源自JAVA秀-https://www.javaxiu.com/555.html

1 注释 <%-- --%> 文章源自JAVA秀-https://www.javaxiu.com/555.html

 jsp中可以写html注释,但是jsp的注释不会显示在源码上,更加安全。

2 三种方式编写java代码 <% %> <%= %> <%! %>文章源自JAVA秀-https://www.javaxiu.com/555.html

<% %> :java程序片段 
定义在它里面的java代码,在生成的servlet源码文件的service方法里面有一份

<%= %>:页面输出表达式 (JspWriter:是jsp的输出流 专门页面输出数据的  PrintWriter:servlet)
(了解)定义在它里面的java代码,在生成的servlet源码文件的service方法里面有一份 做输出

<%! %>:定义成员
(了解)定义在它里面的java代码,在生成的servlet源码文件成员位置上有一份

需求:使用jsp接收servlet产生的数据(字符串,集合,数组,map等等)并且展示文章源自JAVA秀-https://www.javaxiu.com/555.html

el标签

概述

el:Expression Language文章源自JAVA秀-https://www.javaxiu.com/555.html

能够嵌套到jsp页面中,代替jsp的脚本标签<% %>,使jsp中的java代码写起来更加的简化文章源自JAVA秀-https://www.javaxiu.com/555.html

作用

1 通过el标签在jsp页面中获取Servlet的3大域中的数据 (重点)文章源自JAVA秀-https://www.javaxiu.com/555.html

1 获取简单数据(String  int..)
2 获取复杂数据 (数组 list  map)
3 获取对象属性的数据 (对象)

2 通过el标签做一些运算 + - * / && || > < 三元运算(了解)文章源自JAVA秀-https://www.javaxiu.com/555.html

el的使用

el的书写格式:${el的表达式}

el获取域中的数据

el对域中简单数据的获取:文章源自JAVA秀-https://www.javaxiu.com/555.html

${requestScope||sessionScope||applicationScope.key名}

el对域对象中复杂数据获取:文章源自JAVA秀-https://www.javaxiu.com/555.html

数组和list集合 ${requestScope||sessionScope||applicationScope.key名[角标]}
map集合:${requestScope||sessionScope||applicationScope.key名.map的key名}

el对域中对象属性值的获取:文章源自JAVA秀-https://www.javaxiu.com/555.html

${requestScope||sessionScope||applicationScope.key名.对象属性名}
或${requestScope||sessionScope||applicationScope.key名[“对象属性名”]}

注意:文章源自JAVA秀-https://www.javaxiu.com/555.html

requestScope:el标签提供的一个内置对象
sessionScope:el标签提供的一个内置对象
applicationScope:el标签提供的一个内置对象
唯一作用:专门用来获取对应域中存储的数据

el的便捷方式:文章源自JAVA秀-https://www.javaxiu.com/555.html

el的便捷方式:依次从最小的域中开始查找,找到了直接返回 找不到继续找下一个 如果都没有 返回的是空内容
域的范围大小:request<session<application
缺点:可以避免,起名规范
1 在使用el的便捷方式的过程中,尽量保证多个域的属性名不同
2 如果域的键名有一些特殊的符号_,.,+等 el的便捷方式无法使用

el做运算

特点:文章源自JAVA秀-https://www.javaxiu.com/555.html

在el做+ - * / 运算 不论运算符的后面是什么类型,只要能运算的全都做运算,不能运算的 一律报错
el的表达式不仅支持做+,-,*,/  还支持做逻辑运算,比较运算和三元运算

empty(掌握)文章源自JAVA秀-https://www.javaxiu.com/555.html

作用:可以判断一个容器的长度是否为0  可以判断一个对象是否为null
容器(list/map集合):
        如果集合长度为0   true
        如果集合长度不为0 false
对象(javabean):
        如果对象为nulL   true
        如果对象不为null false
取反值:!或 not

JSTL标签

概述

jstl不是jsp的内置标签,如果想要在jsp中使用这个标签 需要先在当前的jsp中,引入该标签文章源自JAVA秀-https://www.javaxiu.com/555.html

jstl的入门

1 导2个jar包文章源自JAVA秀-https://www.javaxiu.com/555.html

2 在哪个jsp页面使用,就需要在当前的jsp中通过jsp的指令tagLib引入文章源自JAVA秀-https://www.javaxiu.com/555.html

jstl的使用

jstl核心下一共有13组标签,咱们只玩2组
if :判断
foreach:循环

if判断

格式: <c:if test="el表达式" [var="变量名"] [scope="保存的域"]>  
            条件成立的时候输出的内容
        </c:if>

foreach循环

格式1:<c:forEach begin="开始" end="结束" step="循环的间隔数" var="每次循环变量值" varStatus="记录循环状态">
        ${变量名 }
</c:forEach>    
varStatus="记录循环状态"
        count:计数当前第几个
        first:判断是否是第一个
        last:判断是否是最后一个
格式2(掌握):
<c:forEach items="要遍历的list/map" var="每一次遍历的变量内容"></c:forEach>

案例分析

JSP的el标签、jstl标签文章源自JAVA秀-https://www.javaxiu.com/555.html

继续阅读
速蛙云 - 极致体验,强烈推荐!!!购买套餐就免费送各大视频网站会员!快速稳定、独家福利社、流媒体稳定解锁!速度快,全球上网、视频、游戏加速、独立IP均支持!基础套餐性价比很高!这里不多说,我一直正在使用,推荐购买:https://www.javaxiu.com/59919.html
weinxin
资源分享QQ群
本站是JAVA秀团队的技术分享社区, 会经常分享资源和教程; 分享的时代, 请别再沉默!
沙海
  • 版权声明:本站是JAVA秀团队的技术分享社区,我们会经常分享资源和教程。
  • 转载请注明:JSP的el标签、jstl标签 - JAVA秀 ☜(ˆ▽ˆ)
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定