[TOC]
# EL從域中取出數據
jsp腳本:<%=request.getAttribute(name)%>
EL表達式替代上面的腳本:${requestScope.name}
# EL獲得四大域中的數據
EL最主要的作用是獲得四大域中的數據,格式${EL表達式}
EL獲得pageContext域中的值:${pageScope.key};
EL獲得request域中的值:${requestScope.key};
EL獲得session域中的值:${sessionScope.key};
EL獲得application域中的值:${applicationScope.key};
EL從四個域中獲得某個值${key};
---同樣是依次從pageContext域,request域,session域,application域中 獲取屬性,在某個域中獲取后將不在向后尋找
1)獲得普通字符串
2)獲得User對象的值
3)獲得`List<User>`的值
~~~
<!-- 模擬域中的數據 -->
<%
pageContext.setAttribute("company", "iii");
//存儲字符串
request.setAttribute("company", "111");
//存儲一個對象
User user = new User();
user.setId(1);
user.setName("zhangsan");
user.setPassword("123");
session.setAttribute("user", user);
//存儲一個集合
List<User> list = new ArrayList<User>();
User user1 = new User();
user1.setId(2);
user1.setName("lisi");
user1.setPassword("123");
list.add(user1);
User user2 = new User();
user2.setId(3);
user2.setName("wangwu");
user2.setPassword("123");
list.add(user2);
application.setAttribute("list", list);
%>
<!-- 腳本法是取出域中的值 -->
<%=request.getAttribute("company") %>
<%
User sessionUser = (User)session.getAttribute("user");
out.write(sessionUser.getName());
%>
<hr/>
<!-- 使用EL表達式獲得域中的值 -->
${requestScope.company }
<!-- 這邊.user是個對象,獲取屬性不需要getName, -->
${sessionScope.user.name }
<!-- 這邊是簡寫list[1]取的是第二個元素 -->
${applicationScope.list[1].name}
<!-- 使用el表達式 全域查找 -->
${company }
${user.name }
${list[1].name}
<!-- el可以執行表達式運算 -->
${1+1 }
${1==1?true:false }
<!-- empty 判定某個對象是否是null 是null返回true -->
${empty list}
~~~
# EL的內置對象11個
pageScope,requestScope,sessionScope,applicationScope
---- 獲取JSP中域中的數據
param,paramValues - 接收參數.
相當于request.getParameter() request.getParameterValues()
header,headerValues - 獲取請求頭信息
相當于request.getHeader(name)
initParam - 獲取全局初始化參數
相當于this.getServletContext().getInitParameter(name)
cookie - WEB開發中cookie
相當于request.getCookies()---cookie.getName()---cookie.getValue()
pageContext - WEB開發中的pageContext.
pageContext獲得其他八大對象
${pageContext.request.contextPath}
相當于獲得WEB應用的名稱
# EL執行表達式
例如:
~~~
${1+1}
${empty user}
${user==null?true:false}
~~~
- 基礎
- 編譯和安裝
- scanner類(鍵盤錄入)
- Random類(隨機數)
- 數組
- 方法
- 類
- ArrayList集合
- char與int
- eclipse
- IDEA
- 變量與常量
- 常用API
- String,StringBuffer,StringBuilder
- 正則,Date,DateFormat,Calendar
- 包裝類,System,Math,Arrays,BigInteger,BigDecimal
- 集合,迭代器,增強for,泛型
- List,set,判斷集合唯一
- map,Entry,HashMap,Collections
- 異常
- IO
- File
- 遞歸
- 字節流
- 字符流
- IO流分類
- 轉換流
- 緩沖流
- 流的操作規律
- properties
- 序列化流與反序列化流
- 打印流
- commons-IO
- IO流總結
- 多線程
- 線程池
- 線程安全
- 線程同步
- 死鎖
- lock接口
- ThreadLoad
- 等待喚醒機制
- 線程狀態
- jdbc
- DBUtils
- 連接池DBCP
- c3p0連接池
- 網絡編程
- 多線程socket上傳圖片
- 反射
- xml
- 設計模式
- 裝飾器模式
- web service
- tomcat
- Servlet
- response
- request
- session和cookie
- JSP
- EL
- JSTL
- 事務
- 監聽器Listener
- 過濾器Filter
- json
- linux安裝軟件
- 反射詳解
- 類加載器和注解
- 動態代理
- jedis
- Hibernate
- 簡介
- 創建映射文件
- Hibernate核心配置文件
- 事務和增刪改查
- HibernateUtils
- 持久化對象的三種狀態
- 檢索方式
- query
- Criteria
- SQLQuery
- 持久化類
- 主鍵生成策略
- 緩存
- 事務管理
- 關系映射
- 注解
- 優化
- struts2
- 搭建
- 配置詳解
- Action
- 結果跳轉方式
- 訪問ServletAPI方式
- 如何獲得參數
- OGNL表達式
- valueStack 值棧
- Interceptor攔截器
- spring
- 導包
- IOC和DI
- Bean獲取與實例化
- Bean屬性注入
- spring注解
- 注解分層
- junit整合
- aop
- 動態代理實現
- cglib代理實現
- aop名詞
- spring的aop
- aop-xml詳解
- aop-注解詳解
- 代理方式選擇
- jdbcTemplate
- spring事務管理
- 回滾注意
- 事務傳播屬性
- MyBatis
- MyBatis簡介
- 入門程序
- 與jdbc hibernate不同
- 原始Dao開發
- Mapper動態代理方式
- SqlMapConfig.xml配置文件
- 輸入參數pojo包裝類
- resultMap
- 動態sql
- 一對一關聯
- 一對多
- 整合spring
- 逆向工程
- maven
- maven簡介
- 倉庫
- maven目錄結構
- maven常用命令
- 生命周期
- eclipse中maven插件
- 入門程序
- 整合struct
- 依賴范圍
- 添加插件
- idea配置
- jar包沖突
- 分模塊開發
- 構建可執行的jar包(包含依賴jar包)
- springMVC
- 處理流程
- java面試
- java版本升級
- java1-8版本變更
- java9新特性
- 鎖
- java資料
- idea
- jdk版本切換
- log4j
- 入門實例
- 基本使用方法
- Web中使用Log4j
- spring中使用log4j
- java代碼優化