EL表达式
为什么要是用EL表达式
JSP脚本有哪些不足:
-代码结构混乱
-脚本与HTML混合,容易出错
-代码不易维护
使用EL表达式来优化程序代码,增加程序可读性
EL语法:
EL表达式(Expression Language)
E
L
表
达
式
例
如
:
{EL表达式} 例如:
EL表达式例如:{username}
EL操作符
操作符 "."hgefm
获取对象的属性,例如:
n
e
w
s
.
t
i
t
l
e
操
作
符
"
[
]
"
获
取
对
象
的
属
性
,
例
如
:
{news.title} 操作符"[]" 获取对象的属性,例如:
news.title操作符"[]"获取对象的属性,例如:{news [“title”]}
获取集合中的对象 例如:newsList[0]
EL表达式严格区分大小写,初学者严格按照规范书写,有利于养成好的编码习惯
EL表达式:
1、取值
EL表达式中取值时,对于一些不规则的或含有特殊符号的。不能用操作符".“访问,要用操作符”[]"访问
eg:
h
e
a
d
e
r
[
"
a
c
c
e
p
t
−
l
a
n
g
u
a
g
e
"
]
规
则
:
e
g
:
g
e
t
M
e
t
h
o
d
−
−
−
−
>
去
掉
g
e
t
后
首
字
母
小
写
{header["accept-language"]} 规则: eg:getMethod---->去掉get后首字母小写
header["accept−language"]规则:eg:getMethod−−−−>去掉get后首字母小写{method}
2、运算
三目运算:
eg:
<input type="radio" name="gender" ${gender == 0 ? "checked" : "" }/>女
<input type="radio" name="gender" ${ gender ==1 ? "checked" :""}/>男
3、获取对象(自定义\Person\requset\session)中的值
从JSP内置对象中获取值
pageContext
Request
session
application
${requestScope.username}
${sessionScope.username} 若找不到,则返回空"",其中requestionScope/sessionScope、applicationScope等可以省略,会自动从内置对象中检索
不会抛异常,只会不显示任何信息作为响应方式
eq --->equals
ne --->not equals
4、调用Java方法
EL 访问作用域
request.setAttribute(“news”,news);
两种方式取数据
Java小脚本:request.getAttribute(“news”,news);
使用EL表达式:
(
n
e
w
s
)
或
者
(news) 或者
(news)或者(requestScope.news)
作用域 Java代码取值 EL取值
请求作用域 request.getAttribute(“news”); ${requestScope.news}
会话作用域 session.getAttribute(“username”) ${sessionScope,username}
程序作用域 appilication.getAttribute(“cout”); ${appilicationScope,cout}
页面作用域 pageContext.getAttribute(“userNum”); ${pageScope.userNum9}
下一篇文章见