书签 分享 收藏 举报 版权申诉 / 33
上传文档赚钱

类型Java-Web程序设计与案例教程-第5章-EL表达式与JSTL标签.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3372048
  • 上传时间:2022-08-24
  • 格式:PPT
  • 页数:33
  • 大小:935KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Java-Web程序设计与案例教程-第5章-EL表达式与JSTL标签.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Java Web 程序设计 案例 教程 EL 表达式 JSTL 标签
    资源描述:

    1、第5章 EL表达式与JSTL标签 本章内容o EL语法o Cookie的含义和用法o Session的含义和用法o Session的工作原理o 个人信息模块的实现o 基于MVC的购物车5.1 EL语法o EL表达式的语法非常简洁,都是以“$”开始,以“”符号结束的,请看下面的使用示例。o 上述语句希望从Session中获取key为“cart”的对象,判断其是否为空,如果不为空,就将这个cart对象中的total属性打印到浏览器中。1 5 6 5.1 EL语法o5.1.1 EL获取数据o5.1.2 EL执行运算o5.1.3 EL访问隐含对象5.1.1 EL获取数据o EL表达式可以轻松获取4大作

    2、用域中的JavaBean的属性,或获取数组、Collection、Map类型集合的数据。EL表达式语句在执行时,会调用pageContext的findAttribute(String key)方法,用标识符名称作为关键字,分别从page、request、session、application 4个域中查找相应的对象,找到则返回相应对象,找不到则返回(空字符串)。语法如下:$作用域对象.属性名称5.1.1 EL获取数据o 其中,EL表达式中用于代表4大作用域的对象如表5.1所示,表5.1中的对象名称是EL表达式中的关键字,代表要访问的Servlet的作用域对象。EL表达式对象对应作用域使 用 样

    3、 例PageScopePage$PageScope.paramNameRequestScopeRequest$RequestScope.paramNameSessionScopeSession$SessionScope.paramNameApplicationScopeApplication$ApplicationScope.paramName表5.1 EL表达式中的4大作用域5.1.2 EL执行运算o 在EL表达式中可以使用运算符达到我们想要的结果,运算符按作用分为算数运算符、关系运算符、逻辑运算符,还包括一些比较特殊的三元运算符和判空运算符等。n1.算术运算符操 作 符使 用 示 例+例如

    4、:$6+6,结果为12例如:$43,结果为1*例如:$4*3,结果为12/或 div例如:$17/5 或$17 div 5,结果为3%或 mod例如:$17%5 或$17 mod 5 ,结果为2表5.2 EL表达式中的算术运算符5.1.2 EL执行运算n2.关系运算符表5.3 EL中的关系运算符操 作 符使 用 示 例或gt例如:$89 或者$8 gt 9=或ge例如:$45=9 或者$45 ge 9 或lt例如:$49 或者$4 lt 9=或le例如:$9=8 或者$9 le 8=或eq例如:$4=4 或者$4 eq 4!=或ne例如:$4!=3 或者$4 ne 3 5.1.2 EL执行运算

    5、n3.逻辑运算符n4.三元运算符在EL表达式中也存在三元算符,语法格式如下:$条件表达式?结果表达式1:结果表达式2n5.判空运算符 使用EL判断某个对象是否为空值,可使用empty关键字,语法如下:$empty 表达式表5.4 EL中的逻辑运算符操 作 符使 用 示 例&或and例如:$false&false 或者$false and false|或or例如:$true|false 或者$true or false!或not例如:$!true(相当于$false)或者$not true 5.1.3 EL访问隐含对象o EL表达式可以访问一系列对象,一共有11个,如表5.5所示。序 号隐含对象

    6、名称描 述1pageContext对应于JSP页面中的pageContext对象2pageScope代表page域中用于保存属性的Map对象3requestScope代表request域中用于保存属性的Map对象4sessionScope代表session域中用于保存属性的Map对象5applicationScope代表application域中用于保存属性的Map对象6param表示一个保存了所有请求参数的Map对象7paramValues表示一个保存了所有请求参数的Map对象,它对应于某个请求参数,返回的是一个string8header表示一个保存了所有http请求头字段的Map对象9he

    7、aderValues表示一个保存了所有http请求头字段的Map对象,它对应于某个请求参数,返回的是一个string数组10cookie表示一个保存了所有cookie的Map对象11initParam表示一个保存了所有Web应用初始化参数的Map对象表5.5 EL表达式中的隐含对象5.2 JSTLo JSP标准标签库(JSP Standard Tag Library,JSTL)是一个不断完善的开放源代码的JSP标签库,是由Apache的jakarta小组来维护的。JSTL只能运行在支持JSP 1.2和Servlet 2.3规范的容器上,如Tomcat 4.x。在JSP 2.0中也是作为标准支持

    8、的。o JSTL 1.0发布于2002年6月,由4个定制标记库(core、format、xml 和 sql)和一对通用标记库验证器(ScriptFreeTLV 和 PermittedTaglibsTLV)组成。5.2 JSTLo5.2.1 EL获取数据o5.2.2 EL执行运算o5.2.3 EL访问隐含对象5.2.1 JSTL的安装o 一个标签库一般由两大部分组成:jar文件包和tld文件。n 1jar文件包o 这个部分是标签库的功能实现部分,由Java来实现,此部分不是本文的重点,故详细内容略。n 2tld文件o tld文件是用来描述标签库的,其内容为标签库中所有标签的定义,包括标签名、功能

    9、类及各种属性。5.2.1 JSTL的安装o 如果要使用JSTL,则必须将jstl.jar和 standard.jar文件放到classpath中,这些jar文件全部存在于对应的zip文件中,暗装步骤如下:n(1)从Apache的标准标签库中下载jakarta-taglibs-standard-current.zip包,如图5.6所示。n(2)解压jakarta-taglibs-standard-1.1.2.zip 包,将lib文件夹下的两个jar文件(standard.jar和jstl.jar文件)加载到工程的编译路径下,不同的IDE的操作方式不同。n(3)将标签库描述符文件导入到jsp页面,

    10、语法格式如下:5.2.1 JSTL的安装o 在MyEclipse中,不需要进行上述的操作,因为在MyEclipse创建的Web工程中,会自动引入Java EE开发相关的jar包,其中就包含了standard.jar和jstl.jar文件。o 在MyEclipse创建Web项目时,会提示用户选择Java EE的版本,如果所选版本为5.0以上,则在工程中会增加Java EE version Libraries,其中会包含jstl-impl.jar文件(见图5.7),standard.jar和jstl.jar的内容就包含在jstl-impl.jar中。o 但是在其他IDE中,如Eclipse中,就需

    11、要手动将上述的jar包添加到工程中。5.2.2 JSTL核心标签o 核心标签是最常用的JSTL标签。使用JSTL标签前,需要引入对应的标签库,在JSP中引用核心标签库的语法如下:o 其中,“taglib”是JSP指令,功能是用来引入标签库,“taglib”指令中含有两个属性,分别是“prefix”和“uri”。“prefix”代表使用标签时指定的前缀,该前缀名称用户可自定义,习惯上起名为“c”;“uri”代表了JSTL核心标签库的唯一URI标志。常用的JSTL的核心标签如表5.6所示。5.2.2 JSTL核心标签标 签描 述用于在JSP中显示数据,就像用于保存数据用于删除数据用来处理产生错误的

    12、异常状况,并且将错误信息储存起来与我们在一般程序中用的if一样本身只当作和的父标签的子标签,用来判断条件是否成立的子标签,在标签后,当标签判断为false时被执行检索一个绝对或相对 URL,然后将其内容暴露给页面基础迭代标签,接受多种集合类型根据指定的分隔符来分隔内容并迭代输出用来给包含或重定向的页面传递参数重定向至一个新的URL使用可选的查询参数来创造一个URL表5.6 JSTL核心标签5.2.3 JSTL格式化标签o JSTL格式化标签可用来格式化并输出文本、日期、时间、数字。引用格式化标签库的语法如下:o 例如,日期在Java中是一个非常复杂的内容,如日期的国际化、日期和时间之间的转换、

    13、日期的加减运算、日期的展示格式等都是非常复杂的问题,我们一般通过使用JSTL格式化标签将一些结果值转化成需要的格式进行输出。在JSTL库中常用的格式化标签如表5.9所示。5.2.3 JSTL格式化标签表5.9 JSTL格式化标签标 签描 述使用指定的格式或精度格式化数字解析一个代表着数字、货币或百分比的字符串使用指定的风格或模式格式化日期和时间解析一个代表着日期或时间的字符串绑定资源指定地区绑定资源指定时区指定时区显示资源配置文件信息设置request的字符编码5.2.4 JSTL函数o JSTL包含一系列标准函数,如表5.12所示,其中大部分是通用的字符串处理函数。引用JSTL函数库的语法如

    14、下:函 数描 述fn:contains()测试输入的字符串是否包含指定的子串fn:containsIgnoreCase()测试输入的字符串是否包含指定的子串,大小写不敏感fn:endsWith()测试输入的字符串是否以指定的后缀结尾fn:escapeXml()跳过可以作为XML标记的字符fn:indexOf()返回指定字符串在输入字符串中出现的位置fn:join()将数组中的元素合成一个字符串然后输出fn:length()返回字符串长度fn:replace()将输入字符串中指定的位置替换为指定的字符串然后返回fn:split()将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回fn:st

    15、artsWith()测试输入字符串是否以指定的前缀开始fn:substring()返回字符串的子集fn:substringAfter()返回字符串在指定子串之后的子集fn:substringBefore()返回字符串在指定子串之前的子集fn:toLowerCase()将字符串中的字母转为小写fn:toUpperCase()将字符串中的字母转为大写fn:trim()移除首位的空白符表5.12 JSTL函数5.3 简易购物商城系统o 本节将对第4章的案例进行改写,主要针对JSP页面上的显示部分,将使用EL和JSTL替换JSP页面中的JSP标签、JSP表达式、JSP脚本等内容,如图5.23所示。图5

    16、.23 简易购物商城首页效果5.3 简易购物商城系统o5.3.1 首页模板o5.3.2 个人中心o5.3.3 全部商品列表o5.3.4 购物车5.3.1 首页模板o 首先对“页头”和“导航”的公用页面进行改写,具体代码如下。在文件中首先使用引入JSTL核心标签库。n(1)top.jsp1 2 3 前端商城欢迎您,4 请登录5.3.1 首页模板n(2)left.jspf1 2 3 4 5 个人中心6 7 8 9 全部商品10 11 我的购物车12 5.3.2 个人中心o 当用户已经完善过个人信息后,点击“个人中心”链接,页面跳转至如图5.24所示的页面,我们将原来使用的和标签用JSTL替换。图5

    17、.24 个人中心页面效果5.3.2 个人中心o 创建WebRoot/web/personal文件夹,存放和个人信息相关的页面文件,在该文件夹下创建personalInfo.jsp文件,使用EL表达式来进行数据展示,其中标签之间的代码如下。5.3.2 个人中心1 2 3 4 5 6 7 8 9 10 11 12 13 您还没有完善信息,请完善信息14 15 16 17 18 年龄:19$personalInfo.age 20 21 22 性别:23$personalInfo.gender 24 25 26 家庭住址:27$personalInfo.address 28 29 30 联系方式:5.

    18、3.2 个人中心31$personalInfo.tel 32 33 34 email:35$personalInfo.email 36 37 38 毕业院校:39$personalInfo.graduateSchool 40 41 42 最高学历:43$personalInfo.highestEducation 44 45 46 专业方向:47$personalInfo.major 48 49 50 51 52 53 54 5.3.3 全部商品列表o 当已登录用户点击“全部商品”链接时,系统会展示如图5.25所示的商品列表结果页,每个商品都有一个“加入购物车”的链接。图5.25 全部商品列表效

    19、果5.3.3 全部商品列表o 创建WebRoot/web/auction文件夹,存放和商品相关的页面文件,在该文件夹下创建auctionList.jsp文件,用来显示系统中的所有商品列表,使用EL表达式来进行数据展示,页面核心代码如下。1 2 3 商品编号4 商品标题5 商品描述6 商品价格7 8 9 10 11$auction.id 12$auction.title 13$auction.description 14$auction.price 15 16 加入购物车20 21 5.3.4 购物车o 当用户点击“我的购物车”链接,或者将某个商品加入到购物车中时,都会显示如图5.26所示的“我

    20、的购物车”页面。图5.26“我的购物车”页面5.3.4 购物车o 创建WebRoot/web/shoppingCart文件夹,存放和购物车相关的页面文件,在该文件夹下创建myShoppingCartt.jsp文件,用来显示当前用户购物车内的商品列表,页面核心代码如下。5.3.4 购物车1 2 3 我的购物车456 7 商品编号8 商品名称9 商品数量10 商品单价11 商品总价12 操作列表131415 16 17 1819$cart.auctionDO.id20$cart.auctionDO.title21$cart.number22$cart.auctionDO.price23$cart.totlePrice24 删除此商品27 28293031 33继续购物34

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Java-Web程序设计与案例教程-第5章-EL表达式与JSTL标签.ppt
    链接地址:https://www.163wenku.com/p-3372048.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库