772~773 EL 获取域中存储的值,获取域中存储的值对象值

2.获取值

  1. el表达式只能从域对象中获取值 

  2. 语法:

    1. ${域名称.键名}:从指定域中获取指定键的值

      域名称:

        1. pageScope        --> pageContext

        2. requestScope     --> request

        3. sessionScope     --> session

        4. applicationScope --> application(ServletContext)

      举例:在request域中存储了name=张三

      获取:${requestScope.name}

    2. ${键名}:表示依次从最小的域中查找是否有该键对应的值,直到找到为止。

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

      1. 对象:${域名称.键名.属性名}

        本质上会去调用对象的getter方法

 

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>el获取域中的数据</title>
</head>
<body>
    <%
        //在域中存储数据
        session.setAttribute("name","李四");
        request.setAttribute("name","张三");
        session.setAttribute("age","23");
        request.setAttribute("str","");
    %>
<h3>el获取值</h3>
${requestScope.name}
${sessionScope.age}
${sessionScope.haha}

${name}
${sessionScope.name}
</body>
</html>
<%@ page import="java.util.*" %>
<%@ page import="com.example.domain.User" %>
<%@ 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);
        List list = new ArrayList();
        list.add("aaa");
        list.add("bbb");
        list.add(user);
        request.setAttribute("list",list);
        Map map = new HashMap();
        map.put("sname","李四");
        map.put("gender","");
        map.put("user",user);
        request.setAttribute("map",map);
    %>
<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>

    <h3>el获取List值</h3>
    ${list}<br>
    ${list[0]}<br>
    ${list[1]}<br>
    ${list[10]}<br>

    ${list[2].name}

    <h3>el获取Map值</h3>
    ${map.gender}<br>
    ${map["gender"]}<br>
    ${map.user.name}

</body>
</html>
----------
package com.example.domain;
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() {
    }
    /**
     * 逻辑视图
     * @return
     */
    public String getBirStr(){

        if(birthday != null){
            //1.格式化日期对象
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            //2.返回字符串即可
            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;
    }
}

 

posted @ 2023-02-12 10:53  ja不会va  阅读(24)  评论(0)    收藏  举报