Java Web之EL

<%--
Created by IntelliJ IDEA.
User: Vae
Date: 2019/1/2
Time: 12:19
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<p>许嵩许嵩</p> <%
//JSP的四大作用域
pageContext.setAttribute("msg","pageContext");
request.setAttribute("msg","request");
session.setAttribute("msg","session");
application.setAttribute("msg","application");
%> <h3>获取每一个作用域中的值</h3>
pageContext:<%=pageContext.getAttribute("msg")%><br>
request:<%=request.getAttribute("msg")%><br>
session:<%=session.getAttribute("msg")%><br>
application:<%=application.getAttribute("msg")%><br> <hr>
<h3>pageContext的findAttribute方法(只有pageContext才有)</h3>
<%=pageContext.findAttribute("msg")%><br>
<%=pageContext.findAttribute("msg")==null?"":pageContext.findAttribute("msg")%><br>
${msg}<br> </body>
</html>

EL ${msg} 是从作用域从小往大找的,也可以设置为只从某个作用域查询
<!--EL的四大作用域对象-->
${pageScope.msg}<br>
${requestScope.msg}<br>
${sessionScope.msg}<br>
${applicationScope.msg}<br>
EL获取Java Bean数据
新建一个包,新建一个Servlet类和Person类
package main.com.vae.EL; import lombok.Getter;
import lombok.Setter; import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Setter@Getter
public class Person {
private String name="许嵩";
private Integer age=32;
private String[] hobbys={"音乐","遛狗","D"};
private List<String> list=Arrays.asList("list1","list2");
private Map<String,Object> map=new HashMap<String,Object>(){
{
this.put("6","青年晚报");
this.put("7","寻宝游戏");
this.put("www.vae.com","Vae+");
}
}; }
package main.com.vae.EL; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/el")
public class ELServlet extends HttpServlet { @Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Person person=new Person();
req.setAttribute("person",person);
req.getRequestDispatcher("/jspDemo/EL/el.jsp").forward(req,resp);
}
}
再建一个jsp叫el

<%--
Created by IntelliJ IDEA.
User: Vae
Date: 2019/1/9
Time: 13:41
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h3>Person对象的信息</h3><br>
name:${person.name}-->${person.getName()}-->${person["name"]}<br>
age:${person.age}<br>
hobbys:${person.hobbys[0]}-->${person.hobbys[1]}<br>
list:${person.list[0]}-->${person.list[1]}<br>
map:${person.map["6"]}-->${person.map["www.vae.com"]}<br> </body>
</html>
结果:

像map里面的 www.vae.com 这个显然就不能使用 person.map.www.vae.com来调用了,不认识的,只能使用[""]来调用了。
Java Web之EL的更多相关文章
- Java Web(六) EL表达式
这也是属于JSP范围内的知识,使用EL表达式,能更好的使用JSP中的各种内置对象和作用域,说点闲话,马上要出去实习了,有点恐慌,可能这是马上要出去工作的学生的通病,继续努力把,兵来将挡水来土掩, -- ...
- SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。
熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...
- Java Web学习笔记之---EL和JSTL
Java Web学习笔记之---EL和JSTL (一)EL (1)EL作用 Expression Language(表达式语言),目的是代替JSP页面中复杂的代码 (2)EL表达式 ${变量名} ( ...
- java web 之客户关系管理系统
这个周末真的是觉得自己学会了一个比较高大上的本领,为什么这么觉得呢?那是因为星期六的时候觉得自己可以看看源码能做出来,可是让我头疼的是花费了一上午的时间还是没有弄出来,还好上天给了我机会,要是没有老师 ...
- JAVA WEB WITH IDEA
本文主要介绍使用IDEA开发环境,创建JAVA WEB 工程,并介绍war包的制作过程. 1 创建MAVEN工程
- 12 自定义标签/JSTL标签库/web国际化/java web之设计模式和案例
EL应用 自定义一个标签,实现两个字符串的相加 1回顾 1.1servlet生命周期 init(ServletConfig) service ...
- 初学 Java Web 开发,请远离各种框架,从 Servlet 开发
Web框架是开发者在使用某种语言编写Web应用服务端时关于架构的最佳实践.很多Web框架是从实际的Web项目抽取出来的,仅和Web的请求和响应处 理有关,形成一个基础,在开发别的应用项目的时候则可以从 ...
- 《轻量级Java Web整合开发入门SSH》 - 快速理解Java框架的又一积木
学习JAVA不难,难的是没有多余的时间给你仔细学习. 伴随着项目的不断跟进,责任重于泰山,必须快速提升. 我不能期望把一本书或者一个项目完全吃透,只希望能用数量去 ...
- Java Web之JSP技术
JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术.JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比htm ...
随机推荐
- oracle总结--增删改查
oracle的执行计划SQL> EXPLAIN PLAN FOR SELECT * FROM emp;已解释.SQL> SELECT plan_table_output FROM TABL ...
- P1130 红牌
题目描述 某地临时居民想获得长期居住权就必须申请拿到红牌.获得红牌的过程是相当复杂 ,一共包括NN个步骤.每一步骤都由政府的某个工作人员负责检查你所提交的材料是否符合条件.为了加快进程,每一步政府都派 ...
- IDEA中Git分支未push的变更集如何合并到另一个分支
使用rebase命令 刚开始,A分支和B分支的代码是一样的,把A分支checkout 为当前分支,并且修改了代码,进行[commit]和[push],commit成功了,但是push没有权限. 这个时 ...
- nmap 常用命令
10.1.1.0/24 = 10.1.1.1-10.1.1.255 #c段扫描10.1.1.0/16 = 10.1.1.1-10.1.255.255 #b段扫描10.1.1.0/8 = ...
- ViewHolder模式的简洁写法
大家通常怎么写ViewHolder呢? ViewHolder holder = null; if(convertView == null){ convertView = mInflater.infla ...
- __init__、__new__、__call__ 方法
__init__方法 __init__方法负责对象的初始化,系统执行该方法前,其实该对象已经存在了,要不然初始化什么东西呢?先看例子: # class A(object): python2 必须显示地 ...
- 洛谷 P5020 【货币系统】
谁说这一定要排序的,这就是个装满背包嘛 \({f[i]}\) 表示 \(i\) 面值最多能被几张钱表示 则若其不能被表示 \(f[i]=-inf\) 能表示且只有它自己则 \(f[i]=1\) 初始化 ...
- BZOJ4669抢夺(费用流+二分答案)
题目描述 大战将至, 美国决定实行计划经济.美国西部总共有 N 个城市,编号 为 0 ∼ N − 1,以及 M 条道路,道路是单向的.其中城市 0 是一个大城 市,里面住着 K 个人,而城市 N − ...
- 数据库设计E-R图
项目数据库的设计主要划分为以下6个阶段,本篇主要着重来介绍概念设计阶段 A.系统需求分析阶段B.概念结构设计阶段C.逻辑结构设计阶段D.物理结构设计阶段E.数据库实施阶段F.数据库运行与维护阶段 E- ...
- bootstrap学习一
bootstrap学习 一.css概览: 1.使用HTML5标准,<!DOCTYPE html>. 2.移动设备优先: <meta name="viewport" ...