EL表达式详解教程

EL表达式详解教程

ID:37260370

大小:27.28 KB

页数:18页

时间:2019-05-20

EL表达式详解教程_第1页
EL表达式详解教程_第2页
EL表达式详解教程_第3页
EL表达式详解教程_第4页
EL表达式详解教程_第5页
资源描述:

《EL表达式详解教程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、EL全名为ExpressionLanguageEL语法很简单,它最大的特点就是使用上很方便。接下来介绍EL主要的语法结构:点对点单反的${sessionScope.user.sex}所有EL都是以${为起始、以}为结尾的。上述EL范例的意思是:从Session的范围中,取得用户的性别。假若依照之前JSPScriptlet的写法如下:Useruser=(User)session.getAttribute("user");Stringsex=user.getSex();两者相比较之下,可以发现EL的语法比传统JSPS

2、criptlet更为方便、简洁。 .与[]运算符EL提供.和[]两种运算符来导航数据。下列两者所代表的意思是一样的:${sessionScope.user.sex}等于${sessionScope.user["sex"]}.和[]也可以同时混合使用,如下:${sessionScope.shoppingCart[0].price}回传结果为shoppingCart中第一项物品的价格。不过,以下两种情况,两者会有差异:(1)当要存取的属性名称中包含一些特殊字符,如.或–等并非字母或数字的符号,就一定要使用[],例如:

3、${user.My-Name}上述是不正确的方式,应当改为:${user["My-Name"]}(2)我们来考虑下列情况:${sessionScope.user[data]}此时,data是一个变量,假若data的值为"sex"时,那上述的例子等于${sessionScope.user.sex};假若data的值为"name"时,它就等于${sessionScope.user.name}。因此,如果要动态取值时,就可以用上述的方法来做,但.无法做到动态取值。 EL变量EL存取变量数据的方法很简单,例如:${use

4、rname}。它的意思是取出某一范围中名称为username的变量。因为我们并没有指定哪一个范围的username,所以它的默认值会先从Page范围找,假如找不到,再依序到Request、Session、Application范围。假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传null,当然EL表达式还会做出优化,页面上显示空白,而不是打印输出NULL。属性范围(jstl名称)EL中的名称PagePageScopeRequestRequestScopeSessio

5、nSessionScopeApplicationApplicationScope我们也可以指定要取出哪一个范围的变量:范例说明${pageScope.username}取出Page范围的username变量${requestScope.username}取出Request范围的username变量${sessionScope.username}取出Session范围的username变量${applicationScope.username}取出Application范围的username变量其中,pageSco

6、pe、requestScope、sessionScope和applicationScope都是EL的隐含对象,由它们的名称可以很容易猜出它们所代表的意思,例如:${sessionScope.username}是取出Session范围的username变量。这种写法是不是比之前JSP的写法:Stringusername=(String)session.getAttribute("username");容易、简洁许多.自动转变类型EL除了提供方便存取变量的语法之外,它另外一个方便的功能就是:自动转变类型,我们来看下面

7、这个范例:${param.count+20}假若窗体传来count的值为10时,那么上面的结果为30。之前没接触过JSP的读者可能会认为上面的例子是理所当然的,但是在JSP1.2之中不能这样做,原因是从窗体所传来的值,它们的类型一律是String,所以当你接收之后,必须再将它转为其他类型,如:int、float等等,然后才能执行一些数学运算,下面是之前的做法:Stringstr_count=request.getParameter("count");intcount=Integer.parseInt(str_co

8、unt);count=count+20;所以,注意不要和java的语法(当字符串和数字用“+”链接时会把数字转换为字符串)搞混淆喽。EL隐含对象JSP有9个隐含对象,而EL也有自己的隐含对象。EL隐含对象总共有11个隐含对象类型说明PageContextjavax.servlet.ServletContext表示此JSP的PageContextPageScopejava.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。