1.JSP EL语言定义了EL(表达式语言)目的:让JSP更容易写。表达式语言受到ECMAScript和XPath表达式语言的启发,提供了一种在JSP中简化表达式的方法。它是一种简单的语言,基于可用的命名空间(页面上下文属性)、集合和运算符(算术、关系和逻辑)的嵌套属性和访问器、映射到Java类中静态方法的可扩展函数以及一组隐式对象。EL提供了在JSP脚本元素范围之外使用运行时表达式的能力。脚本元素是页面中可用于在JSP文件中嵌入Java代码的元素。它们通常用于对象操作和执行影响生成内容的计算。JSP 2.0添加了EL表达式作为脚本元素。
Header将请求头名称映射到单个字符串头值(通过调用servlet request . getheader(string name)获得)。表达式${header.name}相当于request.getHeader(名称)。HeaderValues将请求头名称映射到一个数字数组(通过调用servletrequest.getheaders(字符串)获得)。它与头隐式对象非常相似。表达式${headerValues.name}相当于request.getHeaderValues(名称)。将cookie名称映射到单个cookie对象。客户端对服务器的请求可以获得一个或多个cookie。表达式${cookie.name.value}返回具有特定名称的第一个cookie值。如果请求包含多个同名的cookie,则应使用表达式${headerValues.name}。InitParam将上下文初始化参数名称映射到单个值(通过调用servletcontext获得。getinitparameter (stringname))。除了以上两种类型的隐式对象之外,还有一些对象允许访问各种变量,如Web上下文、会话、请求和页面:术语定义页面范围将页面范围的变量名映射到它们的值。例如,一个EL表达式可以使用${pageScope.objectName}来访问JSP中的页面范围对象,也可以使用${pageScope。objectname。attributename}来访问对象的属性。RequestScope将请求范围的变量名映射到它的值。此对象允许访问请求对象的属性。例如,EL表达式可以使用${requestScope.objectName}访问JSP请求范围的对象,使用$ { request scope . object name . attribute name }访问对象的属性。会话范围将会话范围内的变量名映射到它们的值。此对象允许访问会话对象的属性。例如,$ sessionscope。name} applicationscope将应用程序范围内的变量名映射到它们的值。这个隐式对象允许访问应用程序范围的对象。00-1010 1.请注意,当表达式按名称引用这些对象之一时,它会返回相应的对象,而不是相应的属性。例如,$ {pageContext}返回一个pageContext对象,即使现有的PageContext属性包含一些其他值。2.请注意,%@页为“或=‘真’”表示是否禁用EL语言,而“真”表示禁用EL语言。FALSE表示在中默认情况下不禁用EL语言。JSP2.0. 00-1010 1。例如,%=请求。getparameter ("username")%相当于${ param.username }2。例如,但是EL语言的以下句子可以完成。如果用户名为空,它将不会显示空值,而是显示一个值。
%=user . GetAdr()%相当于${user.addr}。3.例如:%=请求。getattribute ("userlist")%相当于$ {requestScope.userlist }4。例如,原理与上述示例3相同。$ { session scope . user list } 1 $ { session scope . user list } 2 $ { application scope . user list } 3 $ { page scope . user list } 4 $ { uselist }含义:执行顺序为4 1 2 3。随之而来的是。只是一个字符串,它不是真正的内置对象。您不能调用该对象。4.例如,%=user . GetAdr()%相当于${user.addr}第一句之前的用户,这是一个变量。第二句后面的用户必须是某个范围内的属性。