EL表达式的基本使用

  1访问bean属性

  第一种方式${user.name}

  容器一次从pageContext,request,session,application中查找(实际上是调用request.getAttribute("user"))绑定为"user"的对象,如果找到了则不再向下继续查找,找到了以后调用该对象的getName方法,最后将结果输出。如果都找不到则不输出。

  当然我们也可以制定查找的范围:

  表达式语言包含了如下11个内置对象:

  》pageContext:代表该页面的pageContext对象,与JSP的pageContext内置对象相同。

  》pageScope:用于获取page范围的属性值

  》requestScope:用于获取request范围的属性值

》sessionScope:用于获取session范围的属性值

  》applicationScope:用于获取application范围的属性值

  》param:  用于获取请求的参数值

  》paramValues:用于获取请求的参数值,与param的区别在于,该对象用于获取属性值为数组的属性值。

  》head:  用于获取请求头的属性值

  》headerValues:用于获取请求头的参数值,与header区别在于,该对象用于获取属性值为数组的属性值。

  》initParam:  用于获取请求Web运用的初始化参数

  》cookie:  用于获取指定的cookie值

下面的JSP页面示范了如何使用表达式语言的内置对象方法。

 <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> 表达式语言 - 内置对象 </title>
</head>
<body>
<h2>表达式语言 - 内置对象</h2>
请输入你的名字:
<!-- 通过表单提交请求参数 -->
<form action="implicit-objects.jsp" method="post">
<!-- 通过${param['name']} 获取请求参数 -->
你的名字 = <input type="text" name="name" value="${param['name']}"/>
<input type="submit" value='提交'/>
</form><br/>
<% session.setAttribute("user" , "Tim");
//下面三行代码添加Cookie
Cookie c = new Cookie("name" , "Tom");
c.setMaxAge(24 * 3600);
response.addCookie(c);
%>
<table border="1" width="660" bgcolor="#aaaadd">
<tr>
<td width="170"><b>功能</b></td>
<td width="200"><b>表达式语言</b></td>
<td width="300"><b>计算结果</b></td>
<tr>
<!-- 使用两种方式获取请求参数值 -->
<td>取得请求参数值</td>
<td>\${param.name}</td>
<td>${param.name}&nbsp;</td>
</tr>
<tr>
<td>取得请求参数值</td>
<td>\${param["name"]}</td>
<td>${param["name"]}&nbsp;</td>
</tr>
<tr>
<!-- 使用两种方式获取指定请求头信息 -->
<td>取得请求头的值</td>
<td>\${header.host}</td>
<td>${header.host}</td>
</tr>
<tr>
<td>取得请求头的值</td>
<td>\${header["accept"]}</td>
<td>${header["accept"]}</td>
</tr>
<!-- 获取Web应用的初始化参数值 -->
<tr>
<td>取得初始化参数值</td>
<td>\${initParam["author"]}</td>
<td>${initParam["author"]}</td>
</tr>
<!-- 获取session返回的属性值 -->
<tr>
<td>取得session的属性值</td>
<td>\${sessionScope["user"]}</td>
<td>${sessionScope["user"]}</td>
</tr>
<!-- 获取指定Cookie的值 -->
<tr>
<td>取得指定Cookie的值</td>
<td>\${cookie["name"].value}</td>
<td>${cookie["name"].value}</td>
</tr>
</table>
</body>
</html>

  2进行一些简单的计算,计算结果可以直接输出,也可以给JSP标签赋值。

  a算术运算:支持"+" "-", "*", "/"和"%"但是,“+”不能进行字符串的连接处理

  b关系运算符: ">"  "<"  "="  "!=" ">="  "<="

  c逻辑运算符:支持"&&" "||", "!"

  

JSP EL表达式的运用的更多相关文章

  1. Jsp,EL表达式的入门

    Jsp,EL表达式的入门 *Servlet/JSP 是两种动态的WEB资源的两种技术 使用Servlet生成HTML的页面是可以的 response.getWriter("<form ...

  2. jsp EL表达式 字符串的比较

    jsp EL表达式 字符串的比较 跟JavaScript一样,直接使用两个等于号即可:== 代码如下: <c:if test="${highLight == 'visa'}" ...

  3. JSP EL表达式 获得 request的GET/POST方法

    JSP EL表达式 获得 request的GET/POST方法: 不在requestScopse中: <p>得到request的方法</p> <p>pageCont ...

  4. JSP EL表达式 param、paramValues的使用

    JSP EL表达式 param.paramValues的使用: <%@ page language="java" import="java.util.*" ...

  5. JSP EL表达式使用

    JSP EL表达式使用: Servlet: package com.stono.servlet; import java.io.IOException; import java.util.HashMa ...

  6. JSP EL表达式忽略方法

    JSP EL表达式忽略方法: web.xml中,和jsp中:jsp中的等级要高一些: web.xml: <?xml version="1.0" encoding=" ...

  7. jsp EL表达式和JSTL标签if-else if-else用法

    java web javaEE ,jsp EL表达式和JSTL标签if-else if-else四种用法一.条件运算符 ${user.gender==?'男':'女'} 二.if() <c:if ...

  8. 11 JSP/EL表达式/EL函数

    JSP      * 概述: JSP(Java Server Pages)与Java Servlet一样,是在服务器端执行的不同的是先由服务器编译部署成Servlet执行      * JSP的运行原 ...

  9. JSP EL表达式(转)

    一.EL简介 1.语法结构     ${expression}2.[]与.运算符     EL 提供.和[]两种运算符来存取数据.    当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字 ...

  10. JSP EL表达式

    1 EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...

随机推荐

  1. RCMTM _百度百科

    RCMTM _百度百科 RCMTM

  2. JavaScript之作用域与作用域链

    今天是2016的第一天,我们得扬帆起航踏上新的征程了.此篇阐述JavaScript中很重要的几个概念:作用域与作用域链及相关知识点. 我们先从变量与作用域的行为关系开始讨论. 变量作用域 JavaSc ...

  3. windows路由命令route

    route print 查看当前的路由信息 route add 10.0.0.0 mask 255.0.0.0 10.1.1.1 增加一条到10.0.0.0/8网络的路由,网关是10.1.1.1 ro ...

  4. Git 中README.md中MarkDown语法示例

    转 http://blog.csdn.net/brokge/article/details/38388757 简介 Markdown的语法简洁明了.学习容易,而且功能比纯文本更强,因此有很多人用它写博 ...

  5. dubbo源码分析一:整体分析

    本文作为dubbo源码分析的第一章,先从总体上来分析一下dubbo的代码架构.功能及优缺点,注意,本文只分析说明开源版本提供的代码及功能. 1.dubbo的代码架构:  spring适配层:常规的sp ...

  6. Info.plist与Prefix.pch修改文件位置遇到的问题及解决方法

    如果要更改Info.plist与Prefix.pch文件实际路径,也就是实际文件的位置(不是在工程中的组织路径),需要到Build Settings中修改对应的配置,不然工程就找不到对应的Info.p ...

  7. [PWA] 1. Intro to Service worker

    Service worker stays between our browser and noetwork requests. It can help to fetch data from cache ...

  8. [Angular 2] Pipes with Multiple Parameters

    Showing how to set up a Pipe that takes multiple updating inputs for multiple Component sources. imp ...

  9. iOS人脸识别(CoreImage)

    1.从初始UIImage获取一个CIImage对象. 2.创建一个用于分析对象的CIContext. 3.通过type和options参数创建一个CIDetector实例. type参数指定了要识别的 ...

  10. 通过GitHub Pages建立个人站点(详细步骤)

    1 Git简介 2 为什么使用Github Pages 3 创建Github Pages 3.1 安装git工具. 3.2 两种pages模式 3.3 创建步骤 3.4 常用命令 4 使用Jekyll ...