Java基础82 jsp中的EL表达式(网页知识)

java

1、EL表达式的作用

EL表达式的作用:向浏览器输出域对象中的变量值或者表达式计算结果。
语法:${变量或者表达式}

注:

Jsp的核心语法:jsp的表达式<%= %>和jsp的脚本<% %>。
jsp的开发原则:尽量在jsp页面中少写甚至不写java代码,使用EL表达式替换掉jsp表达式。

2、EL表达式的语法

1) 输出基本的数据类型变量
  1.1从四个域中获取
        ${name}
  1.2指定域获取
        ${pageScope.name}
        域范围:pageScope/requestScope/sessionScope/applicationScope
2) 输出对象的属性值
  ${Student.name}     注意:.name 相当于.getName()方法
3)输出list集合
  ${list[0].name}     注意:[0] 相当于get(下标)方法
4)输出map集合
  ${map[key].name}    注意:[key] 相当于get(key)方法

3、实例

例1:

 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

3 <html>

4 <head>

5 <title>EL表达式语法</title>

6 </head>

7 <body>

8 <%

9 String name="rose";

10 //放入域对象中

11 //pageContext.setAttribute("name",name);

12 pageContext.setAttribute("name",name,PageContext.PAGE_SCOPE);

13 %>

14 <%-- 打印到页面 --%>

15 <%=name %>

16 <br/>

17

18 <%--从四个域中自动搜索--%>

19 jsp表达式:<%=pageContext.findAttribute("name")%>

20 EL表达式:${name }

21 <br/>

22

23 <%-- 从指定域中获取数据 --%>

24 EL表达式:${pageScope.name }

25 <%--

26 ${pageScope.name} 等同于 <%=pageContext.getAttribute("name",pageContext.PAGE_SCOPE)%>

27 --%>

28 </body>

29 </html>

例2

 1 <%@page import="com.bw.entity.Student"%>

2 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

3 <%

4 String path = request.getContextPath();

5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

6 %>

7

8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

9 <html>

10 <head>

11 <base href="<%=basePath%>">

12

13 <title>EL输出不同类型的数据</title>

14

15 <meta http-equiv="pragma" content="no-cache">

16 <meta http-equiv="cache-control" content="no-cache">

17 <meta http-equiv="expires" content="0">

18 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

19 <meta http-equiv="description" content="This is my page">

20 <!--

21 <link rel="stylesheet" type="text/css" href="styles.css">

22 -->

23 </head>

24 <body>

25 <%-- 1)EL输出对象的属性 --%>

26 <%

27 //保存数据

28 Student student=new Student("jack",20);

29 //放入域中

30 pageContext.setAttribute("student",student);

31

32 //list集合(保存数据)

33 List<Student> list=new ArrayList<Student>();

34 list.add(new Student("rose",18));

35 list.add(new Student("LiLi",18));

36 list.add(new Student("jingjing",20));

37 //放入域中

38 pageContext.setAttribute("list",list);

39

40 //Map集合(保存数据)

41 Map<String,Student> map=new HashMap<String,Student>();

42 map.put("100", new Student("Mark",20));

43 map.put("101", new Student("tian",30));

44 map.put("102", new Student("ergouzi",21));

45 //放入域中

46 pageContext.setAttribute("map", map);

47 %>

48

49 <%--使用EL表达式获取对象 --%>

50 ${list[0].name } - ${list[0].age }<br/>

51 ${list[1].name } - ${list[1].age }<br/>

52 ${list[2].name } - ${list[2].age }<br/>

53

54 <%--

55 list[0]等价于(中括号相对于调用了get(参数)方法)

56 ((list)pageContext.findAttribute("list")).get(0)

57 --%>

58 <hr/>

59

60 <%--使用EL获取Map对象--%>

61 ${map['100'].name } - ${map['100'].age }<br/>

62 ${map['101'].name } - ${map['101'].age }<br/>

63 ${map['102'].name } - ${map['102'].age }<br/>

64 </body>

65 </html>

实例结果图

例3:

 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

2 <%

3 String path = request.getContextPath();

4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

5 %>

6

7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

8 <html>

9 <head>

10 <base href="<%=basePath%>">

11

12 <title>EL表达式计算</title>

13

14 <meta http-equiv="pragma" content="no-cache">

15 <meta http-equiv="cache-control" content="no-cache">

16 <meta http-equiv="expires" content="0">

17 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

18 <meta http-equiv="description" content="This is my page">

19 <!--

20 <link rel="stylesheet" type="text/css" href="styles.css">

21 -->

22

23 </head>

24

25 <body>

26 <%--

27 1)算术的表达式

28 + - * /

29 --%>

30 加法运算:${10+5 }<br/>

31 乘法运算:${10*5 }

32 <hr/>

33

34 <%--

35 2)比较运算符

36 > < >= <= == !=

37 --%>

38 ${10>5 }<br/>

39 ${10<5 }<br/>

40 ${10!=10 }<br/>

41 <hr/>

42

43 <%--

44 3)逻辑运算符

45 && || !

46 --%>

47 ${true && true }<br/>

48 ${true || false }<br/>

49 ${!false }<br/>

50 <hr/>

51

52 <%--

53 4)判断

54 null 或者 空字符串 :empty

55 --%>

56 <%

57 String name="hello";

58 pageContext.setAttribute("name",name);

59 %>

60 判断null: ${name==null }</br>

61 判断空字符串: ${name=="" }</br>

62 判断:${name==null || name=="" }<br/>

63 另一种判断空的写法:${empty name }

64 </body>

65 </html>

66

原创作者:DSHORE

作者主页:http://www.cnblogs.com/dshore123/

原文出自:https://www.cnblogs.com/dshore123/p/10163207.html

欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!)

以上是 Java基础82 jsp中的EL表达式(网页知识) 的全部内容, 来源链接: utcz.com/z/394259.html

回到顶部