如何在HTML页面用EL表达式接受JSP页面session中传过来的值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在HTML页面用EL表达式接受JSP页面session中传过来的值?相关的知识,希望对你有一定的参考价值。

参考技术A 假如有session属性:session.setAttribute("currentUser","admin")
那么在用el表达式输出时这样写:$sessionScope.currentUser他在页面上就会显示admin
上面这句el表达式的意思是,将session范围的,以currentUser为name的value显示出来
如果存储的value是个类对象,例如:UserVo
user
=
new
UserVo();
UserVo
中有个属性叫username,还有个叫password,
session.setAttribute("curuser",user);//存储当前登录用户的用户名和密码
取出显示user中的用户名和密码是就是这样写的:
用户名:$sessionScope.curuser.username
密码:$sessionScope.curuser.password
这个挺简单的呀,你只要稍为看下书很容易学的。

如何将servlet中的变量在jsp页面中显示---jsp中的EL表达式

1.EL(Expression Language)表达式
语 法:$,放在body中


2.EL表式一般情况下,从作用域对象中取值
作用域对象有四个:pageContext,request,session,application,从小到大

例如:
<%
int a = 1234;
//利用作用域对象设置key-value,即变量
pageContext.setAttribute("a", a);
%> -----这是设置在<!DOCTYPE html >标签之上

可由$a,来获取变量a的值。

3.EL表达式优先从哪个作用域对象取值?默认情况下从最小作用域取值,前提是几个作用域对象的key都相等

例如:
<%
pageContext.setAttribute("scope", "pageContext");
request.setAttribute("scope", "request");
session.setAttribute("scope", "session");
application.setAttribute("scope", "application");
%>
可有$scope,获取scope的值。

4.EL表达式从指定作用域对象中取值:pageContext,request,session,application

例如:
<%
pageContext.setAttribute("scope", "pageContext");
request.setAttribute("scope", "request");
session.setAttribute("scope", "session");
application.setAttribute("scope", "application");
%>

可由$pageScope.scope,$requestScope.scope,$sessionScope.scope,$applicationScope.scope获取相应的scope的值


5.EL表达式能取什么类型的数据?基本数据类型,对象类型,复合对象类型,Map,List等

例如:方式一:
List list = new ArrayList();
//往list中添加对象
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
//再将list放到作用域对象request中
request.setAttribute("list", list);
可由:$list---$list[2],获取相应的值

方式二
Map map = new HashMap();
//往map添加数据
map.put("name", "李四");
map.put("gender", "男");
map.put("address", "天河区");
//将map放到作用域对象request中
request.setAttribute("map", map);
可由:$map---$map.gender,获取相应的值

方式三
User user = new User("lisi","123456000","李四","男",20,new Address("广东省","广州市","天河区") );
request.setAttribute("user", user);
$user.realname---$user["realname"]----$user.addr.town,获取相应的值

6.EL表达式获取请求参数的数据:param,paramValue

在浏览器地址栏输入:127.0.0.1:8080/servlet名/jsp文件名?name=luo&fav=lq&fav=zq&fav=ppq

可由:$param.name,$paramValues.fav[1]来获取相应的值


7.EL表达式可以做为空判断:空字符串,null,空List,空Map,这几个值为true

例如:
<%
request.setAttribute("aaa", "");
request.setAttribute("bbb", null);
request.setAttribute("ccc", new ArrayList());
request.setAttribute("ddd", new HashMap());
%>

可由$empty aaa,$empty bbb,$empty ccc,$empty ddd,对其进行判断,empty为关键字

8.EL表达式可以做基本的逻辑运算和数学运算

例如:
$5>4,$5<4,$5>=4,$5<=4,$5==4
$5+4,$5-4,$5*4,$5/4,$5%4
还有$5+"4",其值为9,因为在EL中没有字符串拼接功能,$5+"a",在页面会显示500的错误,因为在EL中也没有字符的概念。

9.EL表达式中pageContext可以获取pageContext作用域对象本身

例如:
$pageContext

以上是关于如何在HTML页面用EL表达式接受JSP页面session中传过来的值?的主要内容,如果未能解决你的问题,请参考以下文章

jsp页面用el表达式获取枚举的code

如何将数据库中的值经过servlet传入到jsp页面,并且用EL表达式显示出值

EL表达式能用在html页面吗?

用el表达式如何在jsp中获得系统当前时间

在JSP页面用EL表达式获取数据

EL表达式