##  EL表达式

1、概念:Expression  alnguage  表达式语言

2、作用:替换和简化JSP页面中java代码的编写

3、语法:${表达式}

4、注意:

  *  jsp默认支持EL表达式。如果要忽略EL表达式

    1、设置jsp中,page指令中的isELIgnored="true",忽略当前jsp页面中所有的EL表达式

    2、\${表达式}:忽略当前这个EL表达式

5、使用:

  1、运算

    *  运算符:

      1、算数运算符:+  -  *  /(div)  %(mod)

      2、比较运算符:>  <  >=  <=  ==  !=

      3、逻辑运算符:&&(and)  ||(or)  !(not)

      4、空运算符:empty

      *  功能:用于判断字符串、集合、数组对象是否为null或者长度是否为0

      *  ${empty  list}:用于判断字符串、集合、数组对象是否为null或者长度是否为0

      *  ${not  empty  str}:判断字符串,集合,数组对象是否不为null,且长度>0

  2、获取值

    1、EL表达式只能从域对象中获取值

    2、语法:

      1、${域名城.键名}:从指定域中获取指定键的值

      *  域名称:(从小到大)

        1、pageScope:--->pageContext

        2、requestScope --->request

        3、sessionScope--->session

        4、applicationScope--->application(ServletContext)

      *  举例:在request域中存储了name=张三

      *  获取:${requestScope.name}

      2、${键名}:标识依次从最小的域中查找,是否有该键对应的值,知道找到为止。

      3、获取对象,List集合、Map集合的值

        1、对象:${域名城.键名称.属性名}

          *  本质上会去调用getter方法

  1. package com.ftj.domain;
  2.  
  3. import java.text.SimpleDateFormat;
  4. import java.util.Date;
  5.  
  6. /**
  7. * 用户实体类javaBean
  8. */
  9. public class User {
  10. private int id;
  11. private String username;
  12. private String password;
  13. private String gender;
  14. private Date birthday;
  15.  
  16. public Date getBirthday() {
  17. return birthday;
  18. }
  19.  
  20. public void setBirthday(Date birthday) {
  21. this.birthday = birthday;
  22. }
  23.  
  24. public User() {
  25. }
  26.  
  27. public User(int id, String username, String password, String gender) {
  28. this.id = id;
  29. this.username = username;
  30. this.password = password;
  31. this.gender = gender;
  32. }
  33.  
  34. /**
  35. * 逻辑视图
  36. * @return
  37. */
  38. //格式化时间
  39. public String getBirth() {
  40. if (birthday != null) {
  41. SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
  42. return sdf.format(birthday);
  43. }
  44. return "";
  45. }
  46.  
  47. public int getId() {
  48. return id;
  49. }
  50.  
  51. public void setId(int id) {
  52. this.id = id;
  53. }
  54.  
  55. public String getUsername() {
  56. return username;
  57. }
  58.  
  59. public void setUsername(String username) {
  60. this.username = username;
  61. }
  62.  
  63. public String getPassword() {
  64. return password;
  65. }
  66.  
  67. public void setPassword(String password) {
  68. this.password = password;
  69. }
  70.  
  71. public String getHehe() {
  72. return gender;
  73. }
  74.  
  75. public void setHehe(String gender) {
  76. this.gender = gender;
  77. }
  78.  
  79. @Override
  80. public String toString() {
  81. return "User{" +
  82. "id=" + id +
  83. ", username='" + username + '\'' +
  84. ", password='" + password + '\'' +
  85. ", gender='" + gender + '\'' +
  86. '}';
  87. }
  88. }
  1. <%@ page import="com.ftj.domain.User" %>
  2. <%@ page import="java.util.Date" %><%--
  3. Created by IntelliJ IDEA.
  4. User: 21seu.ftj
  5. Date: 2020/3/29
  6. Time: 12:36
  7. To change this template use File | Settings | File Templates.
  8. --%>
  9. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  10. <html>
  11. <head>
  12. <title>Title</title>
  13. </head>
  14. <body>
  15. <%
  16. User user = new User();
  17. user.setUsername("ftj");
  18. user.setPassword("123456");
  19. user.setBirthday(new Date());
  20. request.setAttribute("u",user);
  21. %>
  22.  
  23. ${requestScope.u.username}
  24. ${requestScope.u.password}
  25. ${u.birth}
  26.  
  27. </body>
  28. </html>

        2、List集合:${域名城.键名[索引]}

        3、Map集合:

          *  ${域名城.键名.key名称}

          *  ${域名城.键名["key名称"]}

  1. <%@ page import="com.ftj.domain.User" %>
  2. <%@ page import="java.util.Date" %>
  3. <%@ page import="java.util.List" %>
  4. <%@ page import="java.util.ArrayList" %>
  5. <%@ page import="java.util.HashMap" %><%--
  6. Created by IntelliJ IDEA.
  7. User: 21seu.ftj
  8. Date: 2020/3/29
  9. Time: 12:36
  10. To change this template use File | Settings | File Templates.
  11. --%>
  12. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  13. <html>
  14. <head>
  15. <title>Title</title>
  16. </head>
  17. <body>
  18. <%
  19. User user = new User();
  20. user.setUsername("ftj");
  21. user.setPassword("123456");
  22. user.setBirthday(new Date());
  23. request.setAttribute("u",user);
  24.  
  25. List list = new ArrayList<>();
  26. list.add("aaa");
  27. list.add("bbb");
  28. list.add(user);
  29. request.setAttribute("list",list);
  30.  
  31. HashMap map = new HashMap<>();
  32. map.put("sname","李四");
  33. map.put("gendor","男");
  34. request.setAttribute("map",map);
  35.  
  36. %>
  37.  
  38. ${requestScope.u.username}
  39. ${requestScope.u.password}
  40. ${u.birth}
  41. <hr>
  42.  
  43. ${list}
  44. ${list[2].username}
  45. <hr>
  46.  
  47. ${map}
  48. ${map.gendor}
  49. ${map["gendor"]}
  50. </body>
  51. </html>

  3、隐式对象:

    *  el表达式中有11个隐式对象

    *  pageContext:

      1、获取jsp其他8个内置对象

  1. <%--
  2. Created by IntelliJ IDEA.
  3. User: 21seu.ftj
  4. Date: 2020/3/29
  5. Time: 13:23
  6. To change this template use File | Settings | File Templates.
  7. --%>
  8. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  9. <html>
  10. <head>
  11. <title>Title</title>
  12. </head>
  13. <body>
  14. ${pageContext.request}
  15. <%--jsp页面中动态获取虚拟目录--%>
  16. ${pageContext.request.contextPath}
  17. </body>
  18. </html>

    

JSP(三)----EL表达式的更多相关文章

  1. JavaWeb学习之JSP(三) EL表达式

    EL表达式 什么是EL表达式   EL,Expression Language,表达式语言,是一种在JSP页面中获取数据的简单方式,通过${变量名}的方式可以获取到值,需要注意的是EL只能从 page ...

  2. 超全面的JavaWeb笔记day12<Jsp&JavaBean&El表达式>

    1.JSP三大指令 page include taglib 2.9个内置对象 out page pageContext request response session application exc ...

  3. JSP的EL表达式语言

    以下内容引用自http://wiki.jikexueyuan.com/project/jsp/expression-language.html: JSP表达式语言(EL)可以方便地访问存储在JavaB ...

  4. MVC实现登录,增删改查之数据展示:JSP的EL表达式(二)

    这里的数据展示利用jsp的EL表达式,后台放入session,前台EL获取 数据库设计是这样的,一个老师对应有多个学生,在学生表student中建立外键tid与老师表teacher的tid对应,现在老 ...

  5. JSP、EL表达式的入门(要用)

    2018-08-12   22:55:23 * JSP.EL表达式的入门(要用)    * Servlet/JSP  是两种动态的WEB资源的两种技术.   * 使用Servlet 生成HTML的页面 ...

  6. jsp中EL表达式不起作用的问题

    jsp中EL表达式不起作用的问题 进行springmvc的@ExceptioinHandler调试,竟然是el表达式的问题, 学习了:http://blog.csdn.net/wolf_soul/ar ...

  7. JSP基础--EL表达式

    EL(表达式语言) 1 EL概述 1.1 EL的作用 JSP2.0要把html和css分离.要把html和javascript分离.要把Java脚本替换成标签.标签的好处是非Java人员都可以使用. ...

  8. Java Web技术之JSP与EL表达式

    1,jsp是用来干嘛的? JSP技术是用来解决在Servlet中需要书写大量的拼接html标签.以及框架的代码 2,jsp的三种脚本元素 a.JSP的脚本声明(定义) 格式: <%! 书写Jav ...

  9. JSP和El表达式和JSTL标签库使用

    核心标签库: <%@ page language="java" import="java.util.*" pageEncoding="utf-8 ...

  10. JSP入门 el表达式

    我们已经知道el是jsp-2.0规范的一部分,tomcat-5.x版本以上都已经能够支持jsp-2.0规范,但在更低版本的tomcat和webphere,weblogic中还是无法使用这一便捷方式. ...

随机推荐

  1. Linux下运行命令出现is not in the sudoers file的问题

    原因: 用户没有加入到sudo的配置文件里. 解决方法:  1.切换到root用户,运行visudo命令:  2.找到root ALL=(ALL) ALL,在下面添加一行 xxx  ALL=(ALL) ...

  2. 从谷歌到脸书:为何巨头纷纷“钟情于”VR相机?

    VR的火爆,自然无需多言.而基于VR这一个概念,已经在多个相关行业不断衍生出新的产品.服务或内容.VR眼镜.VR头盔.VR相机.VR游戏.VR影视.VR应用--但VR产业的发展并不是齐头并进,而是出现 ...

  3. 在GitHub上分享自己的项目

    GitHub主要是用作基于Git的分布式版本管理系统的库,可以保存和管理自己的代码,而且主要用作代码的合作开发. 注册GitHub后你就会有0.3G的免费空间,不过只能创建公开项目,这也满足代码分享的 ...

  4. 达拉草201771010105《面向对象程序设计(java)》第三周学习总结

    达拉草201771010105«面向对象程序设计(java)»第三周学习总结 第一部分:实验部分  1.实验目的与要求 (1)进一步掌握Eclipse集成开发环境下java程序开发基本步骤: (2)熟 ...

  5. DotNet Core 使用 StackExchange.Redis 简单封装和实现分布式锁

    前言 公司的项目以前一直使用 CSRedis 这个类库来操作 Redis,最近增加了一些新功能,会存储一些比较大的数据,内测的时候发现其中有两台服务器会莫名的报错 Unexpected respons ...

  6. eetcode必要技巧--动态规划(一)

    首先我们要搞清楚什么是动态规划 动态规划是运筹学中用于求解决策过程中的最优化数学方法.当然,我们在这里关注的是作为一种算法设计技术,作为一种使用多阶段决策过程最优的通用方法. 当然这个很难理解,但是按 ...

  7. SpringBoot入门系列(五)Thymeleaf的常用标签和用法

    前面介绍了Spring Boot 中的整合Thymeleaf .不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/16577 ...

  8. 【小程序】---- input获得焦点时placeholder重影BUG

    问题小程序的input组件有个自身的bug,即当输入框获取焦点时placeholder内容会出现重影现象. 解决思路原理:将placeholder内容单独写在另外的标签里,控制其显示隐藏.操作:将代表 ...

  9. JAVAEE学习day03,基本的流程控制

    有问题请留言 1.流程控制语句分类 1)顺序控制语句 2)选择结构语句 if... if...else... if...else if... else... for... switch... whil ...

  10. SpringBoot2整合Shiro报错 UnavailableSecurityManagerException: No SecurityManager accessible to the calling code 【已解决】

    SpringBoot集成Shiro报错 UnavailableSecurityManagerException: No SecurityManager accessible to the callin ...