JSP中的EL表达式入门
【摘要】
一.EL是什么
EL(Expression Language) 是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的...
一.EL是什么
EL(Expression Language) 是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。
二.EL中的域对象
el有11个内置对象,其中4个是最重要的域对象
- pageScope
- requestScope
- sessionScope
- applicationScope
还有以下7个域对象: - pageContext
- param
- paramValues
- header
- headerValues
- cookie
- initParam
三.用法
1.写法:
${}
2.功能:
简单的运算
取出域对象中的参数并在页面展示
3.EL开关:
默认情况下el表达式是开启的
page指令中定义 isElIgnored=“true” 或者/${表达式}可以关闭el表达式
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="true" %>
- 1
或
\${3+2}
- 1
jsp页面不会输出5,而会输出${3+2}
4.取域对象中简单的值
- 之前我们取域对象的方式:xxx.getAttribute(“键值”));
例如:request.getAttribute("name"));
- 用el表达式取域对象值:${键}
例如:${name}
这种方式是从最小的域范围到最大的域范围查找,如果找到符合的键,就取出其值,之后就算更大范围的域对象中有该同名键,也不会被取出来。 - 也可以精确取出对象值:${xxxScope.键}
例如:
<%--取出pageContext中的参数--%>
${pageScope.name}
<%--取出request中的参数--%>
${requestScope.name}
<%--取出session中的参数--%>
${sessionScope.name}
<%--取出application中的参数--%>
${applicationScope.name}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
5.取域对象中复杂的值
<%--####################把new出来的对象存入域对象#################--%>
<%
Hero hero = new Hero();
hero.setId(001);
hero.setName("李白");
hero.setAge(18);
pageContext.setAttribute("hero",hero);
%>
<%--取出--%>
${pageScope.hero}
${pageScope.hero.id}<br>
<%--#############################把数组存入域对象中######################--%>
<%
String []s = {"李白","韩信","孙尚香"};
pageContext.setAttribute("string",s);
%>
<%--取出--%>
${Arrays.toString(pageScope.string)}
${pageScope.string[0]}<br>
<%--#########################把list集合存入域对象中#########################--%>
<%
ArrayList<Hero> list = new ArrayList<>();
list.add(hero);
pageContext.setAttribute("list",list);
%>
<%--取出--%>
${pageScope.list[0]}
${pageScope.list.get(0)}
${pageScope.list[0].name}<br>
<%--############################把map集合存入域对象中#############################--%>
<%
HashMap<String, Hero> map = new HashMap<>();
map.put("key",hero);
pageContext.setAttribute("map",map);
%>
<%--取出--%>
${pageScope.map.key}
${pageScope.map["key"]}
${pageScope.map.key.age}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
文章来源: blog.csdn.net,作者:Mr.Yushiwen,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/MrYushiwen/article/details/107593678
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)