JavaWeb|认识表达式语言(EL)

欢迎点击「算法与编程之美」↑关注我们!

本文首发于微信公众号"算法与编程之美",欢迎关注,及时了解更多此系列文章

问题描述

1 简介

EL的全名为Experience Language,原本是JSTL 1.0为方便存取数据所自定义的语言,后来成为JSP标准的一部分,如今EL已经是一项成熟、标准的技术。

<%=变量名%>是典型的表达式,它用于将变量显示在客户端,<%out.print(变量名)%>和其作用相同。EL具有与表达式相同的输出功能,另外其还具有简单的运算符、访问对象、简单的JavaBean访问、简单的集合访问等功能。

经过对jsp和servlet基础的学习,可以发现jsp页面是处于表示层的,主要用于将内容显示。在实际的开发过程中,因为项目的规模比较大,所以页面的设计会由专门的设计人员去完成,故在jsp中嵌入过多的Java代码不利于项目的开发。

解决方案

2 基本语法

EL的语法很简单,最大的特点就是使用很方便。如下:

User user = (User)seesion.getAttribute(“user”);

String sex = user.getSex();

out.print(sex);

上面代码的作用就是从session中得到user对象,然后打印user中的sex属性,如果用EL进行表达就显得很简单:

${sessionScope.user.sex}

所以EL最基本的语法结构如下:

${Expression}

EL提供了两种实现对相应数据存取的运算符,即.和[]

${sessionScope.user.sex}

等价于

String str = “sex”;

${sessionScope.user[str]}

但是在以下情况,这两种运算符不能呼唤

1、当要存取的数据名称中包含一些特殊字符时只能使用[]运算符,例如:

${sessionScope.user[“user-sex”]}

//不能写成

//${sessionSope.user.user-sex}

2、当动态取值时只能使用[]运算符

${sessionScope.user[param]}

假如param是自定义变量,其值可以是user对象的name、age、address等,此时不能写成如下形式:

${sessionScope.user.param}

总结

EL本身定义了一些用来操作或者比较EL表达式运算符,其可以满足更多jsp应用程序所需的表示逻辑,包括了加减乘除与余数,范例:${11+11}

END

实习编辑   |   王文星

责       编   |   刘玉江

 where2go 团队

微信号: 算法与编程之美          

JavaWeb|认识表达式语言(EL)

长按识别二维码关注我们!

温馨提示: 点击页面右下角 “写留言”发表评论,期待您的参与! 期待您的转发!

原文 

http://mp.weixin.qq.com/s?__biz=MzI5MTQ5NDY1MA==&mid=2247487934&idx=1&sn=34a7e8a3d7cfc9ef8e5d7f208cb9934e

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » JavaWeb|认识表达式语言(EL)

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址