网站设计的规范,成都到西安距离,wordpress wpdx主题,网站底部浮动目录
1.EL表达式概述
2.EL表达式运算
3.EL表达式操作对象
4.EL表达式内置对象
4.1.参数隐藏对象
4.2.域隐藏对象
4.3.PageContext对象 1.EL表达式概述
EL#xff08;Expression Language#xff09;是一门表达式语言#xff0c;它对应% ... %。在JSP中…目录
1.EL表达式概述
2.EL表达式运算
3.EL表达式操作对象
4.EL表达式内置对象
4.1.参数隐藏对象
4.2.域隐藏对象
4.3.PageContext对象 1.EL表达式概述
ELExpression Language是一门表达式语言它对应% ... %。在JSP中表达式会被输出所以EL表达式也会被输出
EL表达式的格式${ ... }例如${12}
在使用EL表达式时要求page指令的isELIgnored属性为false。这样JSP在编译成.java时才不会忽略EL表达式
如果希望某个EL表达式被JSP编译器忽略那么可以在EL表达式之前添加“\”例如${12}
2.EL表达式运算
运算符说明范例结果加${175}22-减${17-5}12*乘${17*5}85/或div除${17/5}或${17 div 5}3%或mod取余${17%5}或${17 mod 5}2或eq等于${55}或${5 eq 5}TRUE!或ne不等于${5!5}或${5 ne 5}FALSE或lt小于${35}或${3 lt 5}TRUE或gt大于${35}或${3 gt 5}FALSE或le小于等于${35}或${3 le 5}TRUE或ge大于等于${35}或${3 ge 5}FALSE或and并且${truefalse}或${true and false}FALSE!或not非${!true}或${not true}FALSE||或or或者${true||false}或${true or false}TRUEempty是否为空${empty “”}可以判断字符串、数组、集合的长度是否为0为0返回true。empty还可以与not或!一起使用。${not empty “”}TRUE
3.EL表达式操作对象
操作变量和常量${name}、${8}
操作List和数组${list[0]}、${arr[0]}
操作bean的属性${person.name}等价于${person[name]}对应person.getName()
操作Map的值${map.key}等价于${map[key]}对应map.get(key)
4.EL表达式内置对象
在EL表达式中无需创建就可以使用的对象称为EL隐藏对象内置对象。在EL中一共有11个隐藏对象它们都与Mapkey-value相似。其中10个是Map1个是PageContext
4.1.参数隐藏对象 param
param是MapString, String类型param对象可以用来获取参数与request.getParameter()方法相同
在使用EL获取参数时如果参数不存在返回的是空字符串而不是null。这一点与request.getParameter()方法不同 paramValue
paramValues是MapString, String[]类型当一个参数名对应多个参数值时可以使用它 header
header是MapString, String类型用来获取请求头 headerValues
headerValues是MapString, String[]类型。当一个请求头名称对应多个值时使用该对象 initParam
initParam是MapString, String类型它对应web.xml文件中的context-param参数 cookie
cookie是MapString, Cookie类型其中key是Cookie的名字而值是Cookie对象本身
4.2.域隐藏对象
使用EL表达式最为常用的就是获取域对象中保存的数据例如${pageScope.xxx}表示获取在pageContext保存的数据。当然它和${pageScope[xxx]}是等价的 pageScope
pageScope是MapString, Object类型${pageScope.xxx}的功能等同于pageContext.getAttribute(xxx)两者的区别在于前者在数据不存在的时返回空字符串后者返回null requestScope
requestScope是MapString, Object类型装载了request对象中的所有数据 sessionScope
sessionScope是MapString, Object类型装载了session对象中的所有数据 applicationScope
applicationScope是MapString, Object类型装载了application对象中的所有数据
当EL中给出的不是隐藏对象时表示在四个域中查找数据例如;${a}表示 在${pageScope.a}中查找如果找到就返回 在${requestScope.a}中查找如果找到就返回 在${sessionScope.a}中查找如果找到就返回 在${applicationScope.a}中查找如果找到就返回找不到就返回空字符串
4.3.PageContext对象 pageContext
pageContext是PageContext类型可以使用pageContext对象调用getXXX()方法例如${pageContext.request}即pageContext.getRequest
Expression说明${pageContext.request.queryString}pageContext.getRequest().getQueryString();${pageContext.request.requestURL}pageContext.getRequest().getRequestURL();${pageContext.request.contextPath}pageContext.getRequest().getContextPath();${pageContext.request.method}pageContext.getRequest().getMethod();${pageContext.request.protocol}pageContext.getRequest().getProtocol();${pageContext.request.remoteUser}pageContext.getRequest().getRemoteUser();${pageContext.request.remoteAddr}pageContext.getRequest().getRemoteAddr();${pageContext.session.new}pageContext.getSession().isNew();${pageContext.session.id}pageContext.getSession().getId();${pageContext.servletContext.serverInfo}pageContext.getServletContext().getServerInfo();