日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

005_EL表达式

發布時間:2025/4/17 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 005_EL表达式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一. EL表達式

1. EL表達式是為了簡化jsp代碼, 具體一點就是為了簡化在jsp里面寫的那些java代碼。

2. 寫法格式: ${表達式 }。

3. EL表達式從作用域中取值, 先從范圍小的作用域開始取, 如果沒有, 就往下一個作用域取。一直把四個作用域取完, 如果都沒有, 就顯示空字符, 不報錯。

二. EL表達式獲取值

1. 新建一個名稱叫做ELGetValue的Web工程

2. 新建一個index.jsp從4個作用域中獲取值

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html> <html><head><meta charset="UTF-8" /><title>EL表達式獲取Jsp的4個作用域的值</title></head><body><%pageContext.setAttribute("pageContext", "我是pageContext內置對象");request.setAttribute("request", "我是request內置對象");session.setAttribute("session", "我是session內置對象");application.setAttribute("application", "我是application內置對象");%><!-- EL表達式獲取pageContext作用域的值 -->${ pageScope.pageContext }<br/><!-- EL表達式獲取request作用域的值 -->${ requestScope.request }<br/><!-- EL表達式獲取session作用域的值 -->${ sessionScope.session }<br/><!-- EL表達式獲取application作用域的值 -->${ applicationScope.application }</body> </html>

3. 部署運行

4. 新建一個el_array_value.jsp, 使用EL表達式從數組中獲取值

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html> <html><head><meta charset="UTF-8" /><title>EL表達式獲取獲取數組中的值</title></head><body><%String[] nameArray = {"zhangsan", "lisi", "wangwu"};pageContext.setAttribute("nameArray", nameArray);%><!-- EL表達式獲取獲取數組中的值 -->${ pageScope.nameArray[0] } ${ pageScope.nameArray[1] } ${ pageScope.nameArray[2] }</body> </html>

5. 新建一個el_list_value.jsp, 使用EL表達式從集合中獲取值

<%@page import="java.util.ArrayList"%> <%@page import="java.util.List"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html> <html><head><meta charset="UTF-8" /><title>EL表達式獲取獲取集合中的值</title></head><body><%List<String> addressList = new ArrayList<String>(); addressList.add("北京");addressList.add("洛陽");addressList.add("鄭州");request.setAttribute("addressList", addressList);%><!-- EL表達式獲取獲取集合中的值 -->${ requestScope.addressList[0] } ${ requestScope.addressList[1] } ${ requestScope.addressList[2] }</body> </html>

6. EL表達式從Map中獲取值

6.1. 新建一個Student.java類

package com.lywgames.bean;import java.io.Serializable;public class Student implements Serializable {private static final long serialVersionUID = 1L;private String name;private int age;public Student(String name, int age) {this.name = name;this.age = age;}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;} }

6.2. 新建一個el_map_value.jsp, 使用EL獲取Map值

<%@page import="com.lywgames.bean.Student"%> <%@page import="java.util.HashMap"%> <%@page import="java.util.Map"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html> <html><head><meta charset="UTF-8" /><title>EL表達式獲取獲取Map中的值</title></head><body><%Map<String, Student> id2Student = new HashMap<String, Student>();Student xiaocui = new Student("小翠", 16);Student xiaomi = new Student("小明", 18);id2Student.put("s001", xiaocui);id2Student.put("s002", xiaomi);session.setAttribute("id2Student", id2Student);%><!-- EL表達式獲取獲取Map中的值 --><!-- EL表達式使用.xxx獲取值, xxx必須是字符串, 數值類型的字符串也不行 -->${ sessionScope.id2Student.s001.name } ${ sessionScope.id2Student.s001.age }<br/>${ sessionScope.id2Student.s002.name } ${ sessionScope.id2Student.s002.age }</body> </html>

7. 新建一個el_cookie_value.jsp, 使用EL表達式從cookie中獲取值

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html> <html><head><meta charset="UTF-8" /><title>EL表達式獲取獲取cookie中的值</title></head><body><%response.addCookie(new Cookie("last_login_time", "2020-10-01"));%><!-- EL表達式獲取獲取cookie中的值 -->${ cookie.last_login_time.value }</body> </html>

8. 新建el_scope_order.jsp, 使用EL表達式從作用域中獲取值的順序

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html> <html><head><meta charset="UTF-8" /><title>EL表達式獲取Jsp的4個作用域的值順序</title></head><body><%pageContext.setAttribute("name", "zhangsan");request.setAttribute("name", "lisi");session.setAttribute("name", "wangwu");application.setAttribute("name", "zhaoliu");%><!-- 先從pageContext作用域里找name值; pageContext作用域里沒有, 再去request作用域里找name值;request作用域里沒有, 再去session作用域里找name值;session作用域里沒有, 再去application作用域里找name值; application作用域里沒有, 就為空字符串, 不會報錯。-->${name}<br/><!-- 只能取application作用域中的name值 -->${applicationScope.name }</body> </html>

9. EL表達式從param中獲取值

9.1. 新建一個set_param_value_4_el.jsp設置參數

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html> <html><head><meta charset="UTF-8" /><title>set parameter value for el</title></head><body><a href="el_param_value.jsp?address=beijing">beijing</a><form action="el_param_value.jsp" method="post"><input type="text" name="address" value="北京"/><input type="submit"/></form></body> </html>

9.2. 新建一個el_param_value.jsp, 使用EL表達式從param中獲取值

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html> <html><head><meta charset="UTF-8" /><title>EL表達式獲取獲取parameter中的值</title></head><body><%request.setCharacterEncoding("utf-8"); %><%=request.getParameter("address").toString()%><br/><!-- el表達式不能轉碼 -->${param.address}</body> </html>

三. EL表達式的11個內置對象

1. pageContext實例對應于當前頁面的處理。?

2. 作用域相關對象

2.1. pageScope: 與頁面作用域屬性的名稱和值關聯的Map類。

2.2. requestScope: 與請求作用域屬性的名稱和值關聯的Map類。

2.3. sessionScope: 與會話作用域屬性的名稱和值關聯的Map類。

2.4. applicationScope: 與應用程序作用域屬性的名稱和值關聯的Map類。

3. 頭信息相關對象

3.1. header: 按名稱存儲請求頭主要值的Map類。

3.2. headerValues: 將請求頭的所有值作為String數組存儲的Map類。

4. 參數信息相關對象

4.1. param: 按名稱存儲請求頭主要值的Map類。

4.2. paramValues: 將請求參數的所有值作為String數組存儲的Map類。

5. cookie: 按名稱存儲請求附帶的cookie的Map類。

6. initParam: 按名稱存儲Web應用程序上下文初始化參數的Map類。

總結

以上是生活随笔為你收集整理的005_EL表达式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。