EL技术

EL 表达式概述

EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL出现的目的是要替代jsp页面中脚本(java代码)的编写。

EL从域中取出数据(EL最重要的作用)

jsp脚本:

EL表达式替代上面的脚本:${requestScope.name}

EL最主要的作用是获得四大域中的数据,格式${EL表达式}

EL获得pageContext域中的值:${pageScope.key};

EL获得request域中的值:${requestScope.key};

EL获得session域中的值:${sessionScope.key};

EL获得application域中的值:${applicationScope.key};

EL从四个域中获得某个值${key};

---同样是依次从pageContext域,request域,session域,application域中获取属性,在某个域中获取后将不在向后寻找

1)获得普通字符串

2)获得User对象的值

3)获得List的值

pageContext.setAttribute("name", "pageContxt");

//存储字符串

request.setAttribute("name", "request");

//存储一个对象

Users user=new Users();

user.setId(1);

user.setUsername("lisi");

user.setPwd("123");

session.setAttribute("user", user);

//存储一个集合

List list=new ArrayList();

Users user1=new Users();

user1.setId(1);

user1.setUsername("wangwu");

user1.setPwd("123");

list.add(user1);

Users user2=new Users();

user2.setId(1);

user2.setUsername("zhaoliu");

user2.setPwd("123");

list.add(user2);

application.setAttribute("List", list);

%>


out.write(u.getUsername());

%>


${requestScope.name}

${sessionScope.user.username}

${applicationScope.List[0].pwd}


${name }

${user.username}

${List[0].pwd}

EL的内置对象11个

pageScope,requestScope,sessionScope,applicationScope

---- 获取JSP中域中的数据

param,paramValues      - 接收参数.

相当于request.getParameter()  request.getParameterValues()

header,headerValues      - 获取请求头信息

相当于request.getHeader(name)

initParam     - 获取全局初始化参数

相当于this.getServletContext().getInitParameter(name)

cookie     - WEB开发中cookie

相当于request.getCookies()---cookie.getName()---cookie.getValue()

Form.html

Form.jsp

request.getParameter("username");

//.....

%>

${param.username }

${header["User-Agent"] }

${cookie.abc.value }

${pageContext.request }

Cookie.jsp

Cookie cookie=new Cookie("abc","zhangsan");

response.addCookie(cookie);

%>

Index.jsp

pageContext   - WEB开发中的pageContext.

pageContext获得其他八大对象

${pageContext.request.contextPath}

EL执行表达式

例如:

${1+1}

${empty user}

${user==null?true:false}

JSTL技术

JSTL概述

JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能。jstl出现的目的同el一样也是要代替jsp页面中的脚本代码。JSTL标准标准标签库有5个子库,但随着发展,目前常使用的是他的核心库

JSTL下载与导入

JSTL下载:

从Apache的网站下载JSTL的JAR包。进入“http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/”网址下载  JSTL的安装包。jakarta-taglibs-standard-1.1.2.zip,然后将下载好的JSTL安装包    进行解压,此时,在lib目录下可以看到两个JAR文件,分别为jstl.jar和standard.jar。   其中,jstl.jar文件包含JSTL规范中定义的接口和相关类,standard.jar文件包含用于 实现JSTL的.class文件以及JSTL中5个标签库描述符文件(TLD)

将两个jar包导入我们工程的lib中

使用jsp的taglib指令导入核心标签库

JSTL核心库的常用标签

1)标签

其中test是返回boolean的条件

xxxx

Index.jsp

登陆

注册

${user.name}

退出

Ceshi.jsp

//模拟用户已经登录成功

User user=new User();

user.setId(100);

user.setName("张三");

user.setPwd("123");

session.setAttribute("user", user);

%>

2)标签

使用方式有两种组合形式:

${pro.name}

${entry.key }->${entry.value.name }

示例:

1)遍历List的值

2)遍历List的值

3)遍历Map的值

4)遍历Map的值

5)遍历Map>的值

entry.key-----User

entry.value------List

java el jstl_java -EL技术JSTL技术相关推荐

  1. java ee jstl_Java EE之JSTL(下)

    3.使用国际化和格式化标签库(FMT命名空间) 如果你希望创建部署在Web上,并面向庞大的国际化用户的企业级Java应用程序,那么你最终需要为世界的特定区域进行应用程序本地化.这将通过国际化实现(通常 ...

  2. jsp常见面试题及其知识点、EL、JSTL技术

    一.JSP技术 1.jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%=java变量或表达式> - ...

  3. java高深技术总结_一名25K以上的高薪Java程序员总结出的技术以及学习技能

    原标题:一名25K以上的高薪Java程序员总结出的技术以及学习技能 总所周知,Java是目前使用最为广泛的网络编程语言之一. 它具有简单,面向对象,稳定,与平台无关,解释型,多线程,动态等特点. 一般 ...

  4. java学习笔记—EL表达式(38)

    EL表达式 EL即Expression Language,主要的任务是帮助开发者简化获取域属性. 但是一般情况下需要使用EL和JSTL结合使用. 语法: ${ // 隐含对象|直接写域中的属性 }  ...

  5. java 代码执行el,专属于java的漏洞——EL表达式注入

    前言"FSRC经验分享"系列文章,旨在分享焦点科技信息安全部工作过程中的经验总结,包括但不限于漏洞分析.运营技巧.sdl推行.等保合规.自研工具等等. 欢迎各位安全从业者持续关注~ ...

  6. Java开发与技术挑战——关于技术的技术思考

     Java开发与技术挑战--关于技术的技术思考 width="22" height="16" src="http://hits.sinajs.cn ...

  7. Java后端开发需具备什么技术?这几个部分你需要关注

    Java后端开发需具备什么技术?对于初学Java并且有志于后端开发的同学来说,需要重点关注以下几个部分: Java开发普遍需要: 1.Java基础 2.数据库 MYSQL/SQLServer/Orac ...

  8. Java 正青春:现状与技术趋势报告

    背景 1991 年,James Gosling 带领团队开始了一个叫"Oak"的项目,这个就是 Java 的前身.1995 年,Java1.0 发布."Write onc ...

  9. 布线问题分支限界法java_大型布线:Java云应用程序缺少的技术

    布线问题分支限界法java 您是否曾经想过,为什么大多数Java框架中的依赖项注入仅用于本地进程内服务而不是分布式服务? 我最近在2013年EMC世界大会上遇到了Paul Maritz的主题演讲 (跳 ...

最新文章

  1. JS+Canvas的棋盘游戏和Java的动态结合
  2. 【推荐】iOS汉字转拼音第三方库
  3. session 详解
  4. 每日一笑 | 程序员千万不能轻易去网吧!
  5. emc re 整改 超标_老刘工程师睡前故事5-EMC 辐射发射超标怎么办?
  6. 显微镜下的大明内容_平凡故事展现炮火下人性光辉,李少红《解放·终局营救》创作全解...
  7. c++ loadlibrary 初始化对象_C++构造函数和初始化表
  8. MySQL Aggregate (GROUP BY) Function Descriptions
  9. 每日学习小记 11/02
  10. 比特币交易的脚本如何执行
  11. Atitit 定时器timer 总结 目录 1. 定时器 循环定时器 和timeout超时定时器 1 2. Spring定时器 1 2.1. 大概流程 1 2.2. 核心源码springboot 1
  12. 3D 数学(三角函数、坐标系、向量、摄像机跟随、点乘)
  13. 阿里云免费SSL证书到期了怎么办?(阿里云虚拟主机安装HTTPS)
  14. IAR for STM8下载、安装、注册
  15. Xenu Link Sleuth死链接检测工具(SEO工具)
  16. 网络访问:从网络访问此计算机属性增加guest组,workgroup无法访问,详细教您workgroup无法访问如何解决...
  17. 技术期刊 · 白日照耀开鸿蒙 | 深入鸿蒙 ACE UI 框架解析;无限循环的 useEffect 类型;用 Three.js 实现 3D 房间;图神经网络入门;超基础的机器学习入门-原理篇
  18. php 定义宏函数,汇编语言宏函数
  19. python defaultdict
  20. 学了python能找人吗_只学python能找工作吗

热门文章

  1. 皮一皮:直男表示,有钱女人的世界完全不懂...
  2. 关于零拷贝的一点认识
  3. 每日一皮:客户期望 vs 最终产品
  4. 到底一台服务器能够支持多少TCP并发连接?
  5. 如果有人把支付宝的服务器炸了,你的两毛五是不是就没了?
  6. 17 个方面,综合对比 Kafka、RabbitMQ、RocketMQ、ActiveMQ
  7. 选择开源项目的时候,哪些因素是最需要考量的?
  8. java solar_java中的内部类总结
  9. java gps 距离计算_java计算两个GPS经纬度之间的距离(转)
  10. php5.2的配置方,Windows IIS PHP 5.2 安装与配置方法