1、第18讲View层的开发:层的开发:EL表达表达式练习式练习回顾回顾 我们已经学过的我们已经学过的JSP标准动作有哪些?标准动作有哪些?JSP标准动作的优点是什么?标准动作的优点是什么?请说明请说明useBean中的中的scope属性的值的意义?属性的值的意义?本讲问题本讲问题 什么是什么是EL?怎么使用和禁用怎么使用和禁用EL?EL的作用域是什么?的作用域是什么?EL如何表达如何表达Form请求中数据?请求中数据?EL的语法是什么?的语法是什么?EL可以哪些运算符?可以哪些运算符?本讲任务本讲任务 升级升级E-Book电子书店系统电子书店系统 使用使用EL简化页面开发简化页面开发 订单的处理
2、订单的处理本讲目标本讲目标 掌握掌握EL的定义的定义 掌握掌握EL的使用方法的使用方法 掌握掌握EL的允许和禁用方法的允许和禁用方法 掌握掌握EL的作用域的作用域 掌握掌握EL与与Bean的结合的结合 掌握掌握EL与与Form的结合的结合param参数参数 掌握掌握EL的运算符的运算符EL的定义的定义 EL(Expression Language)EL是是jsp-2.0规范的一部分,规范的一部分,tomcat-5.x版本以上版本以上都已经能够支持都已经能够支持jsp-2.0规范,但在更低版本的规范,但在更低版本的tomcat和和webphere,weblogic中还是无法使用这中还是无法使用这
3、一便捷方式。一便捷方式。EL的使用方法的使用方法 在页面上的任何地方使用在页面上的任何地方使用$任何地方:文本、属性、属性值等任何地方:文本、属性、属性值等 文本中用EL表达式来计算表达式的结果:3+2=$3+2 控件中的属性名和属性值使用EL表达式:EL允许和禁用方法允许和禁用方法1 可以选择在可以选择在JSP中允许或禁用中允许或禁用EL表达式,常用表达式,常用方法有如下两种:方法有如下两种:一种是每个页面中都做设置:一种是每个页面中都做设置:允许方法:允许方法:在在servlet2.4之后默认方法为之后默认方法为false,即可以不写,即可以不写 或或 禁用方法:禁用方法:EL允许和禁用方
4、法允许和禁用方法2 还有一种批量禁用还有一种批量禁用el的方法,我们可以在的方法,我们可以在WEB-INF/web.xml中使用中使用jsp-property-group标签批量禁用标签批量禁用el,web.xml中进行如下配置。中进行如下配置。*.jsp true EL的作用域的作用域 使用使用el的时候,默认会以一定顺序搜索四个作用的时候,默认会以一定顺序搜索四个作用域,将最先找到的变量值显示出来。域,将最先找到的变量值显示出来。如果我们有如果我们有$username这样一个表达式,它回这样一个表达式,它回去依次调用去依次调用pageContext.getAttribute(usernam
5、e)-request.getAttribute(username)-session.getAttribute(username)-application.getAttribute(username),只要找,只要找到某一个不为空的值就立刻返回。到某一个不为空的值就立刻返回。EL的作用域的作用域EL显示显示Form表单请求参考信息表单请求参考信息-param order.jsp 和和ProcessOrder.jsp 用户名:用户名:$param.username.邮编:邮编:$param.zipcode.电电 话:话:$param.phone.信用卡:信用卡:$param.creditcard.
6、总价:总价:$total.EL和和Bean结合处理表单请求结合处理表单请求 order.jsp、j28.Order.java、ProcessOrder.jsp 使用使用useBean填充数据,并通过填充数据,并通过Bean实例来显示数据。实例来显示数据。下面是下面是El和和Bean的结合显示:的结合显示:用户名:用户名:$order.username.邮编:邮编:$order.zipcode.电电 话:话:$order.phone.信用卡:信用卡:$order.creditcard.总价:总价:$total.EL的运算符的运算符1 el表达式中支持表达式中支持java中所有的操作中所有的操作符
7、,并且还有一些符,并且还有一些扩展,下面我们简扩展,下面我们简要做一下对照。要做一下对照。加减乘除四则运算加减乘除四则运算比较运算比较运算EL的运算符的运算符2逻辑运算逻辑运算特殊运算特殊运算EL的运算符的运算符3 下面下面是是所有运算符的显示结果,顺便说一下如果所有运算符的显示结果,顺便说一下如果想在想在jsp中显示中显示$name而不让而不让jsp把它当作把它当作el计算计算出来,可以写成出来,可以写成$name,这样最后显示的结果,这样最后显示的结果就是就是$name了。了。本讲目标本讲目标 掌握掌握EL的定义的定义 掌握掌握EL的使用方法的使用方法 掌握掌握EL的允许和禁用方法的允许和禁用方法 掌握掌握EL的作用域的作用域 掌握掌握EL与与Bean的结合的结合 掌握掌握EL与与Form的结合的结合param参数参数 掌握掌握EL的运算符的运算符