[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; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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 让容器管理更轻松!