Java Web之EL

时间:2024-09-07 19:33:26

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>

Java Web之EL

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

Java Web之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>

结果:

Java Web之EL

像map里面的 www.vae.com 这个显然就不能使用 person.map.www.vae.com来调用了,不认识的,只能使用[""]来调用了。