一.简介

  只有支持Servlet 2.4 / JSP2.0 的Container,才可以在JSP 网页中直接使用EL

  EL语法:

     (1) ${ }

         表示取出某个域内某个变量的值,不指定范围,则由page-->request-->session-->application找下去

         若中途找到就返回值,若所有域中都没有则返回null

         也可以指定域:eg.${sessionScope.user}表示从session中获取user的sex属性值

         具体如下:

                 Page               pageScope
      Request          requestScope
      Session           sessionScope
      Application      applicationScope

        pageScope、requestScope、sessionScope、applicationScope是EL的隐含对象

     (2) .与 [ ]存取数据

          eg.${sessionScope.user.sex }等价于${sessionScope.user["sex"] }

          有以下两种情况建议使用[]

            a.属性名称中包含一些特殊字符,如. 或 – 等并非字母或数字的符号,一定要用[]

            b.${sessionScope.user.[propertyName] },其中propertyName为变量,通过该变量的不同值实现动态取值时也一般用[]

  (3)自动类型转换

      用request.getParameter("count")获取的String值,若要运算还要进行类型转换,但是可以直接${param.cout+10 }

      具体如何类型间转换的不细说,自己找吧!

二.EL隐含对象

   EL中隐含对象如下:

     PageContext          表示此JSP 的PageContext
   PageScope             取得Page范围的属性名称所对应的值
    RequestScope         取得Request 范围的属性名称所对应的值                                                       用来去范围类的属性值,其类型都java.util.Map
    sessionScope          取得Session 范围的属性名称所对应的值
    applicationScope      取得Application 范围的属性名称所对应的值
    param                     等同ServletRequest.getParameter(Stringname),回传String 类型的值                                           用来获取用户的请求参数

    paramValues           等同ServletRequest.getParameterValues(String name),回传String 类型的值(获取复选框值)

    header                   等同ServletRequest.getHeader(String name)
   headerValues           等同ServletRequest.getHeaders(String name)
   cookie                     同HttpServletRequest.getCookies( )
   initParam                 同ServletContext.getInitParameter(Stringname)

 

三.EL的各种运算符(略)

posted on 2015-01-29 17:21  milan's  阅读(405)  评论(0编辑  收藏  举报