EL表达式

                        EL

为什么要使用EL表达式:
        1、代码结构混乱
        2、脚本与HTML混合,容易出错
        3、代码不易于维护

    使用EL表达式来优化程序代码,增加程序可读性
---------------------------------------------------------------------------------------------------------
    
                    EL语法

EL语法

    EL表达式(Experssion Language)
        
        ${EL表达式}例如:${username}


    EL操作符

      操作符.
        获取对象属性,例如:${news.title}    

      操作符[]
        获取对象的属性,例如:${news["title"]----------用${news.title}  两种一样
        获取集合中的对象,例如newsList[0]

注意:EL严格区分大小写,初学者严格按规范书写,有利于养成好的编码习惯。
---------------------------------------------------------------------------------------------------------


                    EL功能

    取的JavaBean对象的属性
        ${news.title}
    
    取的数组、List、Map类型对象的元素
        ${list[0]}

    使用各类运算符对原始数据进行简单处理
        ${totalRecordCount/pageSize}   示例 ${a/b}

    屏蔽一些常见的异常
        ${username}            示例${usename}类似于request.getAttribute(xxx) 如果没有值                        ${xxx}不会显示LUNN 而另一种会。  主要没有值就不显示NULL或                        错误。

    能实现简单的自动类型转换
        ${news}相当于(Nwes)request.getAttribute("news")


总结:  1、取的JavaBean对象的属性
    2、取的数组、List、Map类型对象的元素
    3、使用各类运算符对原始数据进行简单处理
    4、屏蔽一些常见的异常
    5、能实现简单的自动类型转换

---------------------------------------------------------------------------------------------------------

                    EL访问作用域    (这里学到单词Scope注意用法)

    request.getAttribute("news");
    两种方式取数据:
    Java小脚本:request.getAttribute("news");
    使用EL表达式:${news}或者${requestScope.news}


    作用域                java取值代码                    EL取值

    请求作用域        request.getAttribute("news");            ${requestScope.news}

    会话作用域        session.getAttribute("username");        ${sessionScope.username}

    程序作用域        application.getAttribute("count");        ${appilcationScope.count}

    页面作用域        pageContextgetAttribute("useNum");           ${pageContextScope.useNum}

    
注意:${xxx}找对象的顺序:pageContext-》application-》session-》request     从小到大一次寻找没找到返回NULL!
---------------------------------------------------------------------------------------------------------
    注意:
        1、使用"[]"操作符访问数据时,必须在属性名两侧使用双引号
        2、EL表达式区分大小写
        3、在使用EL表达式获取变量前,必须先将对象保存到作用域中
    
1、直接set后用
2、取值param.参数
                    

---------------------------------------------------------------------------------------------------------------------------------------------------------------

EL表达式区分大小写

   ${EL表达式} 例:${uname}

EL操作符

 操作符  ”.”

获取对象的属性 例:${new.title}这个常用

操作符 []

获取对象属性 例:${news[“title”]}

获取对象集合 例:newsList[0]

取得javaBean对象得属性

${news.title}

取得数组 List  Map类型对象得元素

${list[0]}

各类运算符对原始数据进行简单处理

${totalRecorodCount/pageSize}简单得意思是${a/b}不要${a}/${b} 错误的

屏蔽一些常见异常

  ${username}

能实现简单的自动类型转换

  ${news}相当于(News)request.getAttribute(“news”)

 

EL取值

${Request.Scope.news}

${session.Scope.username}

${applicationScope.count}

${pageScope.userNum}

都可以缩写成${news}这个它会从这四个作用域里从小到大找 page—>request—>session—>application 依次寻找找到为止没有返回null

 

 

JSTL(JavaServerPahes Standard Tag Library)

  Jsp标准标签库

  实现jsp页面中的逻辑控制

JSTL使用步骤

下载jstl.jar和standard.jar包 

http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/

将这两个包复制到WEB-INF\lib目录

在Jsp页面中添加指令

核心标签库

<%@taglib url=”http://java.sun.com/jsp/jstl/core” prefix=”c”%>

格式化标签

<%@tabliburl=”http://java.sun.com/jsp/jstl/fmt”prefix=”fmt”%>

常用的

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(EL表达式)