JSP EL表达式的运用
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} </td>
</tr>
<tr>
<td>取得请求参数值</td>
<td>\${param["name"]}</td>
<td>${param["name"]} </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表达式的运用的更多相关文章
- Jsp,EL表达式的入门
Jsp,EL表达式的入门 *Servlet/JSP 是两种动态的WEB资源的两种技术 使用Servlet生成HTML的页面是可以的 response.getWriter("<form ...
- jsp EL表达式 字符串的比较
jsp EL表达式 字符串的比较 跟JavaScript一样,直接使用两个等于号即可:== 代码如下: <c:if test="${highLight == 'visa'}" ...
- JSP EL表达式 获得 request的GET/POST方法
JSP EL表达式 获得 request的GET/POST方法: 不在requestScopse中: <p>得到request的方法</p> <p>pageCont ...
- JSP EL表达式 param、paramValues的使用
JSP EL表达式 param.paramValues的使用: <%@ page language="java" import="java.util.*" ...
- JSP EL表达式使用
JSP EL表达式使用: Servlet: package com.stono.servlet; import java.io.IOException; import java.util.HashMa ...
- JSP EL表达式忽略方法
JSP EL表达式忽略方法: web.xml中,和jsp中:jsp中的等级要高一些: web.xml: <?xml version="1.0" encoding=" ...
- jsp EL表达式和JSTL标签if-else if-else用法
java web javaEE ,jsp EL表达式和JSTL标签if-else if-else四种用法一.条件运算符 ${user.gender==?'男':'女'} 二.if() <c:if ...
- 11 JSP/EL表达式/EL函数
JSP * 概述: JSP(Java Server Pages)与Java Servlet一样,是在服务器端执行的不同的是先由服务器编译部署成Servlet执行 * JSP的运行原 ...
- JSP EL表达式(转)
一.EL简介 1.语法结构 ${expression}2.[]与.运算符 EL 提供.和[]两种运算符来存取数据. 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字 ...
- JSP EL表达式
1 EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...
随机推荐
- 解决mysql不能远程登录的问题
1. 改表法.可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 " ...
- sed替换文件中的字符串
sed -i 's/原字符串/替换字符串/g' filename
- angularJS服务一
一 认识服务 1.服务这个概念其实并不陌生,在其他语言中如java便有这样的概念,其作用就是对外提供某个特定的功能,如消息服务,文件压缩服务等,是一个独立的模块.ng的服务是一个单例对象或函数,对外提 ...
- javaIO流小结(1)
UTF-8的字节占多少个字节? 常用中文字符用utf-8编码占用3个字节(大约2万多字),超大字符集中要占4个字节.在内存中是2个字节,真正写到硬盘上面的是3个字节. GBK.GB2312汉字占2个字 ...
- Android Developers:两个视图渐变
淡入淡出动画(也被称为渐隐)逐渐淡出一个UI组件,同时淡入另一个.这个动画在你想在你的应用程序中切换内容或者是视图的情况下非常有用.淡入淡出非常微妙并短,但支持从一个屏幕到下一个屏幕流畅的过渡.当你不 ...
- java.util.jar.JarFile cause native heap memory leak
最近项目中使用了JarFile 这个类 来load jar包中的 configuration,大致的情况如下 public void processJarEntries(JarFile paramJa ...
- Meth | 安装Linux Mint 18以后grub2 win10启动引导项丢失??!!
进入mint,打开终端输入:sudo update-grub2
- js获取当前url地址及参数
介绍:设置或获取对象指定的文件名或路径. window.location.pathname //返回 设置或获取整个 URL 为字符串. window.location.href 设置或获取与 URL ...
- POJ 1228 Grandpa's Estate(凸包)
Grandpa's Estate Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 11289 Accepted: 3117 ...
- VB 活动添加item元素
'ListView1.Columns.Clear() 'ListView1.Columns.Add("", 0, HorizontalAlignment.Center) 'List ...