el表达式的相关东西.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便。接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${为起始、以}为结尾的。上述EL范例的意思是:从Session的范围中,取得 用户的性别。假若依照之前JSP Scriptlet的写法如下: User user = (User)session.getAttribute(user); String sex = user.getSex( ); 两者相比较之下,可以发现EL 的语法比传统JSP Scriptlet 更为方便、简洁。 ? .与 [ ] 运算符 EL 提供 . 和 [ ] 两种运算符来导航数据。下列两者所代表的意思是一样的: ${sessionScope.user.sex}等于${sessionScope.user[sex]} . 和 [ ] 也可以同时混合使用,如下: ${sessionScope.shoppingCart[0].price} 回传结果为shoppingCart中第一项物品的价格。 不过,以下两种情况,两者会有差异: (1) 当要存取的属性名称中包含一些特殊字符,如. 或 – 等并非字母或数字的符号,就一定要使用 [ ],例如:${user.My-Name } 上述是不正确的方式,应当改为:${user[My-Name] } (2) 我们来考虑下列情况: ${sessionScope.user[data]} 此时,data 是一个变量,假若data的值为sex时,那上述的例子等于${sessionScope.user.sex}; 假若data 的值为name时,它就等于${sessionS}。因此,如果要动态取值时,就可以用上述的方法来做,但. 无法做到动态取值。 ? EL 变量 EL 存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。因为我们并没有指定哪一个范围的username,所以它的默认值会先从Page 范围找,假如找不到,再依序到Request、Session、Application范围。假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传null,当然EL表达式还会做出优化,页面上显示空白,而不是打印输出NULL。 属性范围(jstl名称) EL中的名称 Page PageScope Request RequestScope Session SessionScope Application ApplicationScope 我们也可以指定要取出哪一个范围的变量: 范例 说明 ${pageScope.username} 取出Page范围的username变量 ${requestScope.username} 取出Request范围的username变量 ${sessionScope.username} 取出Session范围的username变量 ${applicationScope.username} 取出Application范围的username变量 其中,pageScope、requestScope、sessionScope和applicationScope都是EL 的隐含对象,由它们的名称可以很容易猜出它们所代表的意思,例如:${sessionScope.username}是取出Session范围的username 变量。这种写法是不是比之前JSP 的写法: String username = (String) session.getAttribute(username);容易、简洁许多. 自动转变类型 EL 除了提供方便存取变量的语法之外,它另外一个方便的功能就是:自动转变类型,我们来看下面这个范例: ${param.count + 20} 假若窗体传来count的值为10时,那么上面的结果为30。之前没接触过JSP 的读者可能会认为上面的例子是理所当然的,但是在JSP 1.2 之中不能这样做,原因是从窗体所传来的值,它们的类型一律是String,所以当你接收之后,必须再将它转为其他类型,如:int、float 等等,然后才能执行一些数学运算,下面是之前的做法: String str_count = request.getParameter(count); int count = Integer.parseInt(str_count); count = count + 20; 所以,注意不要和java的语法(当字符串和数字用“+”链接时会把数字转换为字符串)搞混淆喽。 EL 隐含对象 JSP有9个隐含对象,而EL也

文档评论(0)

yan666888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档