以前學的太亂沒有頭緒,今天來縷一縷。
jsp 用於展示數據 可以操作所有的數據 <% %>
el 操作作用域中的屬性 不能操作局部變量 ${ }
jstl 用於使用標簽代替簡化 jsp中的<% %> 含有 if 循環 判斷語句等等
1、jsp
jsp就是 java servlet page,和servlet一樣,是sun公司定義的一種用於開發動態網頁的技術。允許在頁面中嵌入java代碼,為用戶提供動態數據。
jsp實際上就是servlet,它由容器翻譯成servlet源文件,再編譯,用戶看到的是servlet的響應結果。
上面表格第三列的作用范圍,即內置對象的作用域,顧名思義就是“在多大范圍內有效”。四個作用域分別為:page---request---session---application:
page——在當前頁面有效
request——在當前請求中有效
session——在當前會話中有效
application——在所有應用程序中有效
———————————————————————————————————————————————————————————
2、EL表達式
簡介:EL 全名為Expression Language。EL表達式一般操作的是作用域(application,session,request,pageContext)中的屬性,EL變量指某一個作用域中的屬性。
注:el表達式操作不了局部變量!
用法:
使用EL表達式獲取數據語法:“${標識符}”
EL表達式語句在執行時,會調用pageContext.findAttribute方法,用標識符為關鍵字,分別從page、request、session、application四個域中查找相應的對象,找到則返回相應對象,找不到則返回”” (注意,不是null,而是空字符串)。
示例:${user}
EL表達式也可以很輕松獲取JavaBean的屬性,或獲取數組、Collection、Map類型集合的數據,例如:
${user.address.city}
${user.list[0]}:訪問有序集合某個位置的元素
${map.key} : 獲得map集合中指定key的值
獲得web開發常用對象
1、pageContext:代表pageContext對象 例如:${pageScope.name1}
2、pageScope:代表page域
3、requestScope:代表request域
4、sessionScope
5、applicationScoope
6、param:Map對象,保存了所有的請求參數
7、paramValues:Map對象(value對應一個數組).
8、header:Map對象。獲取一個請求頭的值 注意:如果頭裡面有“-” ,例Accept-Encoding,則要headerValues[“Accept-Encoding”]
9、headerValues:Map對象(value對應一個數組)
10、cookie:Map對象。(value對應一個cookie對象)
11、initParam:Map對象。(key=參數名value=參數值,此參數是在web.xml中配置的) 例如 ${initParam.encode }
———————————————————————————————————————————————————————————
3、JSTL
JSP Standard Tag Library ,JSP標准標簽庫,核心標簽庫:http://java.sun.com/jsp/jstl/core 包含 Web 應用的常見工作,比如:循環、表達式賦值、基本輸入輸出等。
引用 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
常用標簽如下