EL表达式和JSTL的总结

本文详细介绍了EL表达式的全局查找和指定域查找方式,解释了EL表达式如何在不同域中获取属性,以及如何通过内置对象获取请求参数和HTTP头部等信息。

El表达式

1.全域查找

从小到大,就是按照page request session application四个域范围内分别查找,找到就返回属性,如果没找到就查找下一个,如果application也没有找到什么都不返还。

2.指定域

requestScope后接key,其他类似

 

EL表达式不能直接调用对象的方法,只能调用类中的属性字段,自动调用该字段的getter方法,如果没有getter方法,则报错。

3.隐含对象

EL中一共有11个内置对象。

-pageContext

类型PageContext

它和JSPpageContext是一个东西

作用 可以获取到JSP中其他的隐含对象

例如:可以获取项目名:

${pageContext.request.contextPath}

 

-pageScope

类型:Map<String,Object>

代表:page域中的属性

作用:可以获取到page域中的属性

 

-requestScope

类型:Map<String,Object>

代表:request域中的属性

作用:可以获取到request域中的属性

 

-sessionScope

类型:Map<String,Object>

代表:session域中的属性

作用:可以获取到session域中的属性

 

-applicatScope

类型:Map<String,Object>

代表:application域中的属性

作用:可以获取到application域中的属性

 

-param

类型:Map<String , String>

代表:用户发送的请求参数

作用:可以获取请求参数

用法:${param.参数名}

 

${param.name}

 

 

-paramValues

类型:Map<String, String[]>

代表:一个请求参数对应的多个值

用法:${paramValues.参数名[索引]}

 


 


-header

作用:可以获取到用户发送的请求头

类型:Map<String, String>

例如:获取用户的系统信息 ${header['User-Agent']}

 

${header.Host}

 

?        -headerValues

类型:Map<String , String[]>

作用:可以获取一个头的多个值

 

?        -initParam

类型:Map<String, String>

作用:获取整个WEB应用的初始化参数

 

?        -cookie

类型:Map<String, Cookie>

作用:用来获取Cookie

 

 

除了第一个,其他的内置对象都是Map类型的格式。

11个对象可以在El表达式中直接使用

C标签的redirect重定向不需要添加项目名,会自动添加。


几个问题及答案

Java代码段可以使用EL吗?----------------不可以。

Js代码片段中可以使用El表达式吗?----可以

如何在JSP页面使用传过来的值的方法?

Java代码段中从域中获取参数,运行方法,将返回值赋值到新的域中。然后在El表达式中获取新的值。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值