格式:
${expression}
expression的值是有范围的。如果没有给定范围,那么就会自己动从小到大去找到相应的值,expression的值的范围是page,request,session.application.
如果要从具体的范围里取值那么取值的方法如下,就如取user为例:
page pageScope ${pageScope.user}
session sessionScope ${sessionScope.user}
request requestScope ${requestScope.user}
application applicationScope ${applicationScope.user}
其实就和JSP中的ContextPage Request Response Session的方法一样。只要为了让JSP的页面更加的简化,用EL表达式即能实现相应的功能又能让面面简洁。
在EL表达式中。不但可以获取那四个范围的内容,也能做简单的算术运算(加,减,乖,除)
如:
加法 ${user.age + 10} = ${user.age add 10}
减法 ${user.age -100}
乖法: ${user.age * 100}
除法: ${user.age /100}
EL运算符
1.算术运算符有五个:+、-、*或$、/或div、%或mod
2.关系运算符有六个:==或eq、!=或ne、<或lt、>或gt、<=或le、>=或ge
3.逻辑运算符有三个:&&或and、||或or、!或not
4.其它运算符有三个:Empty运算符、条件运算符、()运算符
例:${empty param.name}、${A?B:C}、${A*(B+C)}
pageContext取得其他有关用户要求或页面的详细信息。
${pageContext.request.queryString} 取得请求的参数字符串
${pageContext.request.requestURL} 取得请求的URL,但不包括请求之参数字符串
${pageContext.request.contextPath} 服务的web application 的名称
${pageContext.request.method} 取得HTTP 的方法(GET、POST)
${pageContext.request.protocol} 取得使用的协议(HTTP/1.1、HTTP/1.0)
${pageContext.request.remoteUser} 取得用户名称
${pageContext.request.remoteAddr } 取得用户的IP 地址
${pageContext.session.new} 判断session 是否为新的
${pageContext.session.id} 取得session 的ID
${pageContext.servletContext.serverInfo} 取得主机端的服务信息
EL自定义函数:
写一个类,在类是实现各个函数的功功能块如:
在写一个tld文件中配置这个类的各个方法
在页面中如何使用自定义函数:
首先要引用tld文件
<%taglib uri="/WEB-INF/function.tld" prefix="fc"%>
在页面中使用:
${fc:mac(a,b)}
对于上面的EL表过式的用法不是很全面和完整。我也是一个WEB初学者对很多都悄太懂。希希望朋友们能给点意见。