码迷,mamicode.com
首页 > Web开发 > 详细

EL表达式和JSTL标签库使用详解

时间:2015-05-23 14:19:39      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:jsp   jstl   标签   session   el   

JavaBean在JSP中的局限
获取JavaBean属性必须要实例化
强制类型转化


<%	
    Employee employee = (Employee)request.getAttribute("employee");
    Computer comp = employee.getComputer();
    String manufacturer = comp.getManufacturer();
%>

如果页面编写出现逻辑错误,将会导致代码执行错误,并且JSP页面编译页面时也会产生错误


解决办法
使用EL表达式简化

什么是EL 
EL即Expression Language(表达式语言)
EL的功能
替代JSP页面中的复杂代码
EL的语法
${  EL exprission }
${  bean.name } 或  ${  bean[‘name‘] }

${bean.name}实质是调用bean的getName()方法

注: 1 el通过.和[]来存取数据。  例如${applicationScope.user.userName}或者${applicationScope.user["userName"]}       

  2 如果存取的属性名称包含一些特殊符号,如"."或者是"-"等非字母或数字符号必须用[]  

3 applicationScope.user["user-Name"]  

  4 如果使用变量来传入,那么也只能使用[].例如 

<%String data="username";%> 

${applicationScope.user[data]}   

5 当然有四个隐含对象:applicationScope,sessionScope,requestScope,pageScope.与application  ,session,request,pageContext相对应.例如applicationScope用 来获取application范围的属性值  

自动转换类型 
EL得到某个数据时可以自动转换类型 
对于类型的限制更加宽松
使用简单 
相比较在JSP中嵌入Java代码,EL应用更简单

EL语法 

以“${”作为开始,以“}”作为结束

直接使用变量名获取值$
${  username }



变量属性范围名称

属性范围            EL中的名称
page pageScope,例如${pageScope.username},表示在page范围内查找username变量,找不到返回Null
request requstScope
session sessionScope
application applicationScope


EL运算符
运算符”[ ]”
运算符”.”
作用:
获取对象属性


获取对象集合中的数据
在Session中保存了一个(list)集合users

简单应用:输出姓名显示

<%
    Map names = new HashMap();
    names.put("one","LiYang");
    names.put("two","WangHua");
    request.setAttribute("names",names);
%>
姓名:${names.one}<br/>
姓名:${names["two"] }<br/>

技术分享

EL隐式对象介绍 


对象名称 说  明
pageScope 返回页面范围的变量名,这些名称已映射至相应的值
requestScope 返回请求范围的变量名,这些名称已映射至相应的值
sessionScope 返回会话范围的变量名,这些名称已映射至相应的值
applicationScope 返回应用范围内的变量,并将变量名映射至相应的值
param 返回客户端的请求参数的字符串值
paramValues 返回映射至客户端的请求参数的一组值
pageContext 提供对用户请求和页面信息的访问


使用了EL表达式可以简化JSP页面代码,但是如果需要进行逻辑判断怎么办?

点击查看JSTL标签库介绍

EL表达式和JSTL标签库使用详解

标签:jsp   jstl   标签   session   el   

原文地址:http://blog.csdn.net/s2940086379/article/details/45933371

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!