首页 > 技术文章 > EL总结

huominglu 2016-06-04 09:38 原文

El:

1.el表达式语言(是什么)

2.el是书写到jsp页面

3.el语法格式${ }

4.el算数运算(+,-,*,/,%),

逻辑运算(&&,||,!),

关系运算(>,<,>=,<=,==,!=)

${empty object }判断是否为空,判断非空${!empty object}或${not empty object}

5.El表达式和范围有关的内置对象:pageScope,requestScope,sessionScope,applicationScope

Java的范围有关内置对象:pageContext,request,session,application

6.el和参数有关的内置对象为:param,paramValues

param.name对应的java代码为request.getParameter(String name);

paramValues.name对应的java代码为request.getParameterValues(String name)

7.el和请求相关的内置对象(客户端部分)

获取客户端的浏览器版本信息的内置对象为header à${header[‘User-Agent’]}

获取客户端的ip地址:remoteAddrà${pageContext.request.remoteAddr}

获取客户端的端口:remotePort:à${pageContext.request.remotePort}

获取客户端请求的参数字符串:queryStringà请求的?后面的参数部分:

比如http://127.0.0.1:9999/test62/index6-2.jsp?username=zs&password=123,获取

的是?后面的username=zs&password=123

客户端请求的资源的完整的url地址:requestURLà${pageContext.request. requestURL }比如:http://127.0.0.1:9999/test62/index6-2.jsp

客户端请求的上下文:contextPathà${pageContext.request. contextPath }:比如/test62

获取客户端请求所有的方法:methodà${ pageContext.request. method }比如post或get方法

获取客户端请求时使用的协议:

protocolà ${ pageContext.request. protocol }:比如http 1.1

schemeà${ pageContext.request. scheme }:比如http

8.el和请求相关的内置对象(服务器部分)

获取服务器的ip地址:serverNameà${ pageContext.request. serverName }比如127.0.0.1

获取服务器的端口:serverPortà${ pageContext.request. serverPort }比如9999

案例:替代页面的Java写的base àhttp://127.0.0.1:9999/test62

${ pageContext.request. scheme }://${ pageContext.request. serverName }:${ pageContext.request. serverPort }/${pageContext.request. contextPath }

获取web.xml配置的context信息的initParamà${initParam.contextPath }结果为:/test62

<context-param>

<param-name>contextPath</param-name>

<param-value>/test62</param-value>

</context-param>

9.自定义标签使用函数

禁用 el表达式的三种方式为:

a.\${}—>禁用当前的el表达式

b.<% page isElIgnore=true%>à禁用的是当前的页的el表达式

c.web.xml配置:

<!-- 所有的jsp页面都不能使用el表达式 -->

<jsp-config>

<jsp-property-group>

<url-pattern>*.jsp</url-pattern>

<el-ignored>true</el-ignored>

</jsp-property-group>

</jsp-config>

推荐阅读