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="提交”/>&nbsp;&nbsp;<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标签相关推荐

  1. 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.. ...

  2. spring mvc学习(37):JavaEE-JSP基础-EL表达式和JSTL标签库(Taglibs)

    EL表达式和JSTL标签库: 在JSP页面代替java代码,便于编写 一.EL表达式 作用: ${} 简化脚本表达式 <%= %> j2ee1.4以前版本需指定<%@ page is ...

  3. java标签库jstl-el表达式介绍使用配置手册_JAVA EE 实验报告EL表达式和jstl标签库的使用...

    昆明理工大学信息工程与自动化学院学生实验报告 ( 2013 -2014 学年第一学期) 课程名称:Java EE技术开课实验室:系机房444 2013 年 12月2 日年级.专业.班计科111 学号姓 ...

  4. JavaWeb EL表达式, JSTL标签及过滤器综合学习

    1.项目结构如右边图所示: (1)controller.filter包下面定义2个过滤器,EncodingFilter 类CheckUserFilter类(后面会有一个登陆验证的过滤器的测试学习), ...

  5. 28. EL 表达式 以及 JSTL 标签库

    28. EL 表达式 以及 JSTL 标签库 1.EL 表达式 a)什么是 EL 表达式,EL 表达式的作用? EL 表达式的全称是:Expression Language.是表达式语言. EL 表达 ...

  6. EL表达式和JSTL标签:简化JSP的Java代码

    JSP页面接收.展示后端的数据,再JSP页面写很多的Java代码会造成书写麻烦.难以阅读.不利于团队协作的缺点,因此我们使用EL表达式和JSTL标签,代替并简化了JSP页面 EL表达式 语法:${st ...

  7. jsp脚本、jsp标准动作、EL表达式、JSTL标签

    https://blog.csdn.net/gx_hxl/article/details/79032331 https://blog.csdn.net/a731604348/article/detai ...

  8. Java Web - EL表达式和JSTL标签库

    在使用servlet和jsp的过程中,两者之间的数据流转是十分常见的,jsp实际上也是一种servlet,也就是两个servlet之间的数据流转,我们根据不同的使用场景选择使用,请求转发(在reque ...

  9. Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用

    来自:http://blog.csdn.net/love_you_99/article/details/8184797 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极 ...

  10. 方立勋_30天掌握JavaWeb_JavaBean、mvc开发模式、el表达式、jstl标签

    什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法暴露 ...

最新文章

  1. Python中函数的参数定义和可变参数
  2. 从Win8预览版的发布来选择最合适的虚拟机软件
  3. python有趣代码-盘点10个一行强大的、有趣的Python源代码
  4. 2022年全球及中国固态电解质(SSE)行业应用现状与十四五投资潜力分析报告
  5. linux降内核版本_ubuntu16.04降级内核版本至3.13.0-85
  6. SpringCloud Netflix Eureka
  7. 推荐系统——矩阵分解FM
  8. 前沿 | 加州理工大学什么是Imitation Learning(模仿学习)
  9. 操作系统简介-计算机历史、进程(一)
  10. 零基础轻松学mysql_零基础轻松学MySQL 5.7
  11. [javascript]实现登陆界面拖动窗口
  12. webstorm配置scss自动编译路径
  13. Unity MRTK语音输入
  14. php调用平安银行接口,PHP-Java-Bridge的使用(平安银行支付功能专版)
  15. 整理了一份嵌入式相关开源项目、库、资料
  16. directx 11 64位
  17. 常用算法实现(五)——python阿拉伯数字转中文
  18. Qt 开源项目收集大全
  19. 学习Mac开发第四弹 通过NSImageView加载图片
  20. C语言常用算法题 (嵌入式算法题) 28道

热门文章

  1. JavaScript编程用法——JavaScript运行环境
  2. 2022华为杯数学建模研赛选题建议和思路分析
  3. 宝塔面板部署网易云api
  4. 平板集热器的集热量和热效率计算的Python程序
  5. 如何用计算机计算平均温差,换热器传热计算的平均温差法.PPT
  6. KVM虚拟化教程(超详细)
  7. IEC 60335标准介绍
  8. JAVA HD japan_小米小爱AI音箱HD【硬件分析】,你了解智能音箱吗
  9. Java 编码规范11(安全规约)
  10. 11个好用的黑科技资源搜索网站