EL表达式

一、什么是EL表达式?

  1.什么是EL表达式?

  EL(Expression Language) 是为了使JSP写起来更加简单的一种表达式语言。

   2.EL表达式的基础语法

    EL表达式只能读数据,不能修改数据。

    EL表达式只能出现在静态部分,不能出现在java代码块中。

    EL表达式不会抛出异常,在出现异常时,EL表达式将会以空白显示。

    表达式只能从四大域中读取数据。

    如果四大域内中有相同属性名,那么EL表达式将会从最小范围的域依次往最大域查找,page -> application

    查找到相关内容后将会停止查找,并显示查找到的第一条数据。

二、EL表达式的常规用法

  1.EL从JavaBean中读取数据

  从bean中读取数据时,用点运算符(.)直接像取对象属性一样取得数据。

1 <%
2     user u = new user("张三",20,“男”);
3     pageContext.setAttribute("stu",u);
4 %>
5     user = ${stu}<br/>
6     score = ${stu.age}<br/>
7     math = ${stu.gender}<br/>

  2.EL从List中读取数据

  注:在EL表达式中应该使用的是setAttribute的key来作为取值对象

 1 <%
 2     List<Integer> nums = new ArrayList<Integer>();
 3     nums.add(Integer.valueOf("100"));
 4     nums.add(200);
 5     nums.add(new Integer(300));    
 6     pageContext.setAttribute("num",nums);
 7 %>
 8 first = ${num[0]}<br/>
 9 second = ${num[1]}<br/>
10 third = ${num[2]}<br/>

  3.EL从map中读取数据

 1 <%
 2     Map<String,Object> map = new HashMap<String,Object>();
 3     map.put("张三",new user("zhangsan",21,new Score(80,88,90)));
 4     map.put("李四",new user("lisi",22,new Score(89,87,96)));
 5     map.put("王五",new user("wangwu",23,new Score(60,99,75)));
 6     map.put("fruit","banana");
 7     pageContext.setAttribute("map",map);
 8 %>
 9     张三 = ${map.张三.score.chinese}<br/>
10     李四 = ${map.李四.score}<br/>
11     王五 = ${map.王五}<br/>
12     fruit = ${map.fruit}<br/>

 

你可能感兴趣的:(EL表达式)