TrueVoid 发表于 2013-2-4 20:20:57

expression language(EL)

1.EL——${EL表达式}
   1.1:EL是一种自包含的编程语言,有运算符、语法、保留关键字。
2.EL特点
   2.1:与JSP相比对嵌套属性的支持。
   2.2:比JSP使用Bean简短而灵活。
   2.3:在表达式内EL不可以定义变量(标记库定义、)而JSP可以申明。
   2.4:EL有隐式变量,JSP有隐式对象。
3.EL语法
   3.1:隐式变量
       3.1.1:JSP(pageContext)——访问JSP的隐式对象
       3.1.2:作用域(pageScope/requestScope/sessionScope/applicationScope)——与对应作用域对象属性的名称和值相关联的Map类。
                *作用域的遍历——先找变量在找对象,从小到大;显示指定隐式XX就只在该作用域里找。
       3.1.3:请求参数(param/paramValues)——包含请求参数的Map类。
       3.1.4:请求头(header/headerValues)——包含请求头的Map类
       3.1.5:Cookie(cookie)——按名称存储请求附带的cookie的Map类。
   3.2:EL运算符
        3.2.1:访问属性(a.b)和集合(a)——当b为字符串是两者等价。
        3.2.2:EL算术、关系、逻辑运算符。
   3.3:函数——实现完全的业务逻辑和表现逻辑分离
        3.3.1:EL函数插入JSP步骤:
             3.3.1.1:方法类(java)——方法体;static类型;方法参数和返回值在EL中有效。
             3.3.1.2:标记库描述文件(tld)——函数名与方法连接。
                        *taglib、tlib-version
                        *function(name(方法名)/function-class(方法体)/function-signature)
                        *function-signature——参数、返回值的全数据类型;数据类型是全路径。
             3.3.1.3:部署描述文件(xml)——告诉容器在哪里找TLD文件;
                        *taglib
                        *taglib-uri——自定义的TLD位置,本地
                        *taglib-location——系统的TLD位置
             3.3.1.4:JSP页面(JSP)——通过标记库和函数名调用方法。
                        *<%@ taglib prefix="tld访问名" uri="xml的url"%>
                        *¥{tld访问名:方法}
4.JSP(标准)标记库JSTL——sun公司制定的一套标记库规范;由jstl.jar包(API)和standard.jar包(实现类)为JSP提供jstl能力
    4.0:特点
           4.0.1:标记的属性值是字符串。
    4.1:why——javaBean只是可复用的组件,独立于运行环境而包装了一些数据和业务逻辑功能,无法获得运行环境信息,无法与JSP页面进行更深层次的交互。
    4.2:核心——  ??——  http://java.sun.com/jsp/jstl/core   ——c
          4.2.1:通用
                     *<c:catch var="e"> 抛异常的代码 </c:catch>——异常
                     *<c:out value="${变量名}" default="默认值">  </c:out>——显示
          4.2.2:变量
                     *<c:set var="变量" value="值"> </c:set>——Map和Bean对象要用到target、property、value3个属性。
                     * <c:remove var="变量" scope="作用域对象"> </c:remove>
          4.2.3:流程
                     *<c:if test="${x=='9'}">${x} <c:>——测试值是标准,用单引号括起来;EL中else也用if标记实现。
                     *<c:choose></c:choose>——有多个<c:when>标记和一个<c:otherwise>属性 
                     *<c:forEach> </c:forEach>——有下标的用var/begin/end/step属性来实现;集合循环用var/items实现。
                     *<c:forTokens var="分隔后的值" items="需分隔字符串" delims="分隔符"> </c:forTokens>——字符串分隔
          4.2.4:URL
                     *<c:url value="路径" var="变量"> </c:url>——重写URL。有/则自动添加上下文;可以用<c:param name="键" value="值"/>添加参数。
                     *<c:import url=""> </c:import>——动态;跨服务器(无参、安全);可以用<c:param name="键" value="值"/>添加参数。
                     *<c:redirect url=""> </c:redirect>——重定向。可以用<c:param name="键" value="值"/>添加参数。
    4.3:xml——??——http://java.sun.com/jsp/jstl/xml——x
    4.4:数据库——??——http://java.sun.com/jsp/jstl/sql——sql
    4.5:国际化——??——http://java.sun.com/jsp/jstl/fmt——fmt
    4.6:函数——处理函数和字符串——http://java.sun.com/jsp/jstl/functions——fn
 
 
页: [1]
查看完整版本: expression language(EL)