随笔 - 750  文章 - 1  评论 - 107  阅读 - 34万

[Java.web]EL表达式

复制代码
<%@page import="cn.itcast.domain.Address"%>
<%@page import="cn.itcast.domain.Person"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML>
<html>
<head>
<title>el表达式和 jstl 快速入门</title>
</head>
<body>
    <%
        String data = "abcxx";
        request.setAttribute("data", data);
    %>
    ${ data }<br />
    <%--与下面的方法是一样的结果  --%>
    <%=pageContext.findAttribute("data")%><br />

    <%-- 在 Person 输入后按下 Alt + / 自动添加引用 --%>
    <%
        Person p = new Person();
        p.setName("aabxx");
        request.setAttribute("person", p);
    %>
    ${ person.name }<br />

    <%-- 在 Person 输入后按下 Alt + / 自动添加引用 --%>
    <%
        Person p2 = new Person();
        Address a = new Address();
        a.setCity("上海");
        p2.setAddress(a);
        request.setAttribute("person2", p2);
    %>
    ${ person2.address.city }<br />

    <%
        List list = new ArrayList();
        list.add(new Person("abc"));
        list.add(new Person("abcd"));
        list.add(new Person("abcde"));
        request.setAttribute("list", list);
    %>
    ${ list[1].name }<br /> 
    ${ list[2].name }<br />

    <%
        Map map = new HashMap();
        map.put("aa", new Person("abc"));
        map.put("bb", new Person("abcd"));
        map.put("cc", new Person("abcde"));
        map.put("dd", new Person("abcdef"));
        map.put("111", new Person("abcdefg"));
        request.setAttribute("map", map);
    %>
    ${ map.bb.name }<br />
    <%-- 遇到关键字是 数字 时,用 map['关键字'] 来取值  --%>
    ${ map['111'].name }<br />

    <%-- 取web应用名称 --%>
    ${ pageContext.request.contextPath }<br />
    <%-- 用它时不用以 / 为前缀 --%>
    <a href="${ pageContext.request.contextPath }">主页</a>
</body>
</html>
复制代码

其中 Person 类是:

复制代码
package cn.itcast.domain;

import java.util.Date;

public class Person {
    // Source -> Generate Constructors from Superclass 生成无参构造方法
    public Person() {
        super();
        // TODO Auto-generated constructor stub
    }

    // Source -> Generate Constructors using Fields 生成有参的构造方法
    public Person(String name) {
        super();
        this.name = name;
    }

    private String name = "初始化值";
    private int age;
    private Date birthday;
    private Address address;
    
    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }

    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 on   z5337  阅读(133)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示