EL_获取域中存储的值和获取域中存储对象值

EL_获取域中存储的值

  1. el表达式只能从域对象中获取值
  2. 语法
    • ${域名称.键名}:从指定域中获取指定键的值
      • 域名称:
        • pageScope -->pageContext
        • requestScope -->request
        • sessionScope -->session
        • applicationScope -->application(ServletContext)
    • 举例:在request域中存储了name=张三
    • 获取:${requestScope.name}
  •  ${键名}:表示依次从最小的域中查找是否有该对于的值 直到找到为之

jsp代码

复制代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>el获取域中的数据</title>
</head>
<body>
    <%
        //在域中存储数据
        request.setAttribute("name","张三");
        session.setAttribute("age","23");

        
    %>
<h3>el获取值</h3>
${requestScope.name}
${sessionScope.age}
${sessionScope.haha}
</body>
</html>
复制代码

运行结果

 

 获取域中存储对象值

获取对象、List集合、Map集合的值

  1. 对象:${域名称.键名.属性名}
    • 本质上会去调用对象的getter方法

实体类

复制代码
package com.bai.dao;

import java.text.SimpleDateFormat;
import java.util.Date;

public class User {
    private String name;
    private int age;
    private Date birthday;

    public User(String name, int age, Date birthday) {
        this.name = name;
        this.age = age;
        this.birthday = birthday;
    }

    public User() {
    }


    public String getBirStr(){
        if (birthday !=null){
            //格式化日期对象
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            //返回字符串即可
            return sdf.format(birthday);
        }else{
            return "";
        }
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
}
复制代码

jsp代码

复制代码
<%@ page import="com.bai.dao.User" %>
<%@ page import="java.util.Date" %><%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2022/8/16
  Time: 16:39
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>el获取对象值</title>
</head>
<body>
    <%
        User user = new User();
        user.setName("张三");
        user.setAge(23);
        user.setBirthday(new Date());

        request.setAttribute("u",user);
    %>
<h3>el获取对象中的值</h3>
${requestScope.u}<br>
<%--
<%
    通关的是对象的属性来获取
    setter或getter方法 去掉set或get 在将剩余部分 首部分变为小写
    setName-->Name-->name
%>
--%>

${requestScope.u.name}<br>
${u.age}<br>
${u.birthday}<br>
${u.birthday.month}<br>
${u.birStr}<br>


</body>
</html>
复制代码

运行结果

posted @   baimingze  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示