EL(Expression Language)表达式语言是在JSP 2.0版本中引入的新特性,它用于JSP文件中的数据访问。这种表达式语言能简化JSP文件中数据访问的代码,可用来替代传统的基于"<%="和"%>"形式的Java表达式,以及部分基于"<%"和"%>"形式的Java程序片段。

自定义JSP标签是用来代替JSP中的Java程序片段的有效途径。大多数Web应用的JSP文件常常要实现一些通用的功能,比如重定向、文件包含、对日期和时间进行格式化输出,以及访问数据库等,此外,这些JSP文件还要实现一些通用的流程控制逻辑,比如用if-else语句来进行条件判断,再比如用while语句或for语句来进行循环操作。

为了提高Web应用的开发效率,SUN公司制定了一组标准标签库的规范,这组标准标签库简称为JSTL(JavaServer Pages Standard Tag Library)。

El基本语法

从JSP 2.0版本开始引进的EL表达式语言是一种简洁的数据访问语言。通过它可以在JSP文件中方便地访问应用程序数据,从而替代传统的基于"<%="和"%>"形式的Java表达式,以及部分基于"<%"和"%>"形式的Java程序片段。

尽管这种EL表达式语言是JSP新版本的一个重要特性,但它并不是一种通用的编程语言,它仅仅是一种数据访问语言。

EL表达式的基本形式为:${var},所有表达式都以"${"符号开头,以"}"符号结尾。如果在JSP文件的模板文本中使用EL表达式,那么表达式的值会输出到网页上。

例如如下Java表达式和EL表达式的作用相同,都用于输出请求参数username:

<%=request.getParameter("username") %>

${param.username}

比较以上两种表达式的形式,可以看出,EL语言使得JSP文件的创建人员(即网页制作者)能用更加简单的语法来访问数据。

EL表达式和Java表达式一样,既可以直接插入到JSP文件的模板文本中,也可以作为JSP标签的属性的值,例如以下<jsp:setProperty>标签的value属性的值为EL表达式${myPageBean. count+1}:

<jsp:useBean id="myPageBean" scope-"page" class="com.xdl.el.CounterBean" />

<jsp:setProperty name="myPageBean" property="count" value="${myPageBean.count+1" />

Current count values is : ${myPageBean.count}

IT兄弟连 JavaWeb教程 El基本语法的更多相关文章

  1. IT兄弟连 JavaWeb教程 EL与JSTL表达式经典案例

    案例需求:使用MVC模式编写一个程序,当发起一个deptList.do请求时,在servlet中准备一个部门列表对象,把这个列表对象放入request作用域中转发到deptlist.jsp,使用JST ...

  2. IT兄弟连 JavaWeb教程 EL与JSTL表达式经典面试题

    1.简述EL表达式的作用 EL表达式的作用可分为以下三类 访问Bean的属性. 输出简单的运算结果. 获取请求参数值. 2.JSP标签的作用?如何定义? JSP标签可以分离JSP页面的内容和逻辑,业务 ...

  3. IT兄弟连 JavaWeb教程 EL表达式中的运算

    EL语言支持算符运算符.关系运算符和逻辑运算符等,以完成常见的数据处理操作.所有的运算符说明见表7.2. 表2  El表达式中的运算符

  4. IT兄弟连 JavaWeb教程 EL表达式中的内置对象

    EL语言定义了11个隐含对象,它们都是java.util.Map类型,网页制作者可通过它们来便捷地访问Web应用中的特定数据.表1对这11个隐含对象做了说明. 1  EL表达式中的内置对象 这11个隐 ...

  5. IT兄弟连 JavaWeb教程 EL表达式获取对象的属性以及数组的元素

    使用${对象名.属性名} EL表达式语言可以使用点号运算符"."来访问对象的属性,例如表达式${customer.name}表示customer对象的name属性. 使用${对象名 ...

  6. IT兄弟连 JavaWeb教程 JSP语法

    在JSP页面中,脚本标识使用的最为频繁,因为他们能够方便.灵活地生成页面中的动态内容,特别是JSP程序代码块.JSP中的脚本标识包括3部分,即JSP声明区.JSP表达式和JSP程序代码块.通过这些标识 ...

  7. IT兄弟连 JavaWeb教程 使用JSTL函数

    在JSTL Functions标签库中提供了一组常用的EL函数,主要用于处理字符串,在JSP中可以直接使用这些函数. 在JSP中使用Functions标签库,需要通过taglib指令引入该标签库: & ...

  8. IT兄弟连 JavaWeb教程 监听器3

    监听域对象中属性变更的监听器 域对象中属性的变更的事件监听器就是用来监听ServletContext.HttpSession.HttpServletRequest这三个对象中的属性变更信息事件的监听器 ...

  9. IT兄弟连 JavaWeb教程 MVC设计模式

    MVC是Model-View-Controller的简称,即模型-视图-控制器.MVC是一种设计模式,它强制性地把应用程序的数据展示.数据处理和流程控制分开.MVC把应用程序分成3个核心模块:模型.视 ...

随机推荐

  1. error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'

    1 这个error是什么原因造成的 cmake默认选择的是x86,即32位的生成子. 2 怎么解决这个error 在cmake ..的时候,在后面加上“-G "Visual Studio 1 ...

  2. HDU1133 Buy the Ticket —— 卡特兰数

    题目链接:https://vjudge.net/problem/HDU-1133 Buy the Ticket Time Limit: 2000/1000 MS (Java/Others)    Me ...

  3. VK Cup 2015 - Round 2 E. Correcting Mistakes —— 字符串

    题目链接:http://codeforces.com/contest/533/problem/E E. Correcting Mistakes time limit per test 2 second ...

  4. BestCoder Round #92 1002 Count the Sheep —— 枚举+技巧

    题目链接:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=748&pid=1002 题解: 做题的时候只是想到 ...

  5. HTML layout高仿QQ GUI

    1. [图片] QQ20130804162049.png ​2. [代码]AAuto 代码     import win.ui;import web.layout;/*DSG{{*/winform = ...

  6. DDD领域驱动之干货 (一)

    说道DDD不得不说传统的架构与DDD的架构区别. 传统的架构不外乎就是三层,而在这三层里面又不断的细分,始终没有达到想要的效果,那么为什么当时还是采用三层. 当然在DDD没有提出的时候三层是大多数人的 ...

  7. SNE降维与可视化

    from sklearn import datasets digits = datasets.load_digits(n_class=5) X = digits.data y = digits.tar ...

  8. 在IIS6.0以上版本发布Ajax中,解决添加.v路径找不到的问题?

    问题描述:配置Aiax方式如下: 1.在AppCode中加入文件夹Ajax,加入两个类文件: Ajax.cs: using System; using System.Collections.Gener ...

  9. MT8735A平台配置MT6630

    1. codegen配置 2. ProjectConfig CUSTOM_HAL_ANT = mt6630_ant_m1 CUSTOM_HAL_COMBO = mt6630 MTK_BT_CHIP = ...

  10. 升级python之后yum不可用

    #修改yum文件 vi /usr/bin/yum 将文件头部的 #!/usr/bin/python 改为默认的python文件,例如 #!/usr/bin/python2.7.3 整个过程完成了. 同 ...