详细讲解EL表达式基本用法

  • Post author:
  • Post category:其他





(你今后的成功取决于你现在每一次的努力)


EL表达式的作用是为了使jsp写起来更加简单,使代码简化。

语法结构:${experssion}

EL表达式一般操作的都是

域对象中的数据

,操作不了局部变量

域对象在jsp中分别是:pageContent,requset,session,application。

    pageContext.setAttribute("uname","zhangsan");
      request.setAttribute("uname","lisi");
      session.setAttribute("uname","wangwu");
      application.setAttribute("uname","zhaoliu");

这是域对象数据设置,我们用EL表达式去获取一下。

${uname}        //即可获取uname的值,这可比用page、requset、session、application去获取对象简单太多了。

既然他们四个都是同名(uname)那EL表达式又该去选择获取谁呢?

el表达式获取对象是通过从小到大范围去找的,先去找page,再去找requset,再去找session,再去找application。

操作字符串:

所以输出结果如下:

那我们如何去指定找某一个域对象,比如我这时就想获取session的对象也就是(wangwu)。

代码如下:

session范围:${sessionScope.uname}<br>

输出结果:

四个域对象对应的空间对象:pageScope,requsetScope,sessionScope,applicationScope。想去查找哪一个域对象将其替换sessionScope即可。

操作list:

   List<String> list = new ArrayList<>();
    list.add("aaa");
    list.add("bbb");
    list.add("ccc");
    request.setAttribute("list",list);

先定义一个list链表,用el表达式去获取list链表信息:

可以直接调用list函数去返回一些数值,比如size()。获取list中的值可以通过list.[下标值],即可返回属性值,也可以不写下标值,可以返回整个链表信息。

<h4>获取list</h4>
获取list的size:${list.size()}<br>
获取list的指定下标的值:${list[1]}<br>

注:list代表的是限域变量名

操作Map:

    Map map= new HashMap();
    map.put("aaa","111");
    map.put("bbb","222");
    map.put("ccc","333");
    request.setAttribute("map",map);

用法与list类似:

<h4>获取Map</h4>
获取Map指定key的value值:${map.aaa}--${map["bbb"]}

注:map代表的是限域变量名

操作javaBean对象:

先创建一个User对象

public class User {
    private Integer userId;
    private String uname;
    private String upwd;

    public User() {
    }

    public User(Integer userId, String uname, String upwd) {
        this.userId = userId;
        this.uname = uname;
        this.upwd = upwd;
    }

    public User(Integer userId) {
        this.userId = userId;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getUpwd() {
        return upwd;
    }

    public void setUpwd(String upwd) {
        this.upwd = upwd;
    }

    public String getUname() {
        return uname;
    }

    public void setUname(String uname) {
        this.uname = uname;
    }
}

在jsp文件中去声明user对象

  User user = new User();
    user.setUserId(1);
    user.setUname("zhangsan");
    user.setUpwd("123456");
    request.setAttribute("user",user);

直接调用user的方法和属性名,但要注意,必须在user类中去实现get方法。

<h4>获取javaBean对象</h4>
获取javaBean对象:${user}<br>
获取javaBean中的属性:${user.uname}---${user.getUpwd()}



版权声明:本文为qq_53344479原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。