关闭

EL表达式

标签: java
307人阅读 评论(2) 收藏 举报
分类:

简介

    ELExpression Language(表达式语言),EL的语法:${ EL exprission }${ bean.name } ${ bean['name'] },说白了,EL是用来显示数据的,功能跟<%=表达式%>一样,使用EL不需要引入任何jar包,只需要jsp/servlet容器实现J2EE1.4/Servlet2.4JSP2.0规范就可以了。

使用

EL表达式的使用分为两种形式:

一.不指定搜索范围:${hello}

二.指定搜索范围:${requestScope.hello}

不指定搜索范围,默认的搜索顺序依次是pagerequestsessionapplication。若在搜索的途中找到了此变量,则直接返回,不再继续查找;若没有找到,则返回null

指定搜索范围,需要使用el的内置对象进行指定,el的内置对象包括pageScope(表示页面范围的变量),requestScope(表示请求范围的变量),sessionScope(表示会话范围的变量),applicationScope(表示应用范围的变量)。

      建议使用指定范围搜索,这样搜索会快些。

EL表达式中还可以使用[].运算符,例如

${user.username}        //取得user实体中username属性,和使用具体的实体方式一样

${map.k1 }   //取得map中的key

${strArray[1] }    //取得字符串数组,区分大小写,数组不加索引,取到的是一个对象

${users[5].username }       //对象数组

${userList[6].username }   // list

 

EL隐含对象

1)与输入有关的隐含对象

ParamparamValues,使用方式:

   request.getParameter(String name)
    request.getParameterValues(String name)
EL中使用paramparamValues两者来取得数据。
     ${param.name}
     ${paramValues.name}

2)其他隐含对象

${cookie.userCountry}   //cookie
   ${header["User-Agent"]}      //取得用户浏览器的版本, header 储存用户浏览器和服务端用来沟通的数据.headerValues取得同一标头名称拥有不同的值。
   ${initParam.userid}              //取得设定web站点的环境参数
 
//pageContext           //取得其他有关用户要求或页面的详细信息
    ${pageContext.request.queryString}         //取得请求的参数字符串
     ${pageContext.request.requestURL}         //取得请求的URL,但不包括请求之参数字符串
     ${pageContext.request.contextPath}         //服务的web application 的名称
     ${pageContext.request.method}           //取得HTTP 的方法(GETPOST)
     ${pageContext.request.protocol}         //取得使用的协议(HTTP/1.1HTTP/1.0)
     ${pageContext.request.remoteUser}         //取得用户名称
     ${pageContext.request.remoteAddr }         //取得用户的IP 地址
     ${pageContext.session.new}             //判断session 是否为新的
     ${pageContext.session.id}               //取得session ID
     ${pageContext.servletContext.serverInfo}   //取得主机端的服务信息

EL表达式对运算符的支持

1.算术运算符:+-*$/div%mod
2.关系运算符:==eq!=ne<lt>gt<=le>=ge
3.逻辑运算符:&&and||or!not
4.其它运算符:Empty运算符、条件运算符、()运算符

例如:

   ${1+1 }

   ${empty v1 }       //empty:为空返回true,不为空,返回false

   EL表达式的使用可以使JSP写起来更加简单;可用在所有的HTMLJSP标签中,代替JSP页面中复杂的Java代码。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:93904次
    • 积分:4039
    • 等级:
    • 排名:第7719名
    • 原创:102篇
    • 转载:2篇
    • 译文:0篇
    • 评论:945条
    最新评论