1. 程式人生 > >EL表達式 與 JSTL標準標簽庫

EL表達式 與 JSTL標準標簽庫

數據庫 tle etc 當前 商品列表 toc sts jar java

目錄

  • EL表達式
    • 什麽是EL表達式
    • 作用
    • EL內置11對象
    • EL執行表達式
  • JSTL
    • 什麽是JSTL
    • JSTL標準標簽庫有5個子庫
    • 把JSTL標簽庫jar包引入工程當中
    • if標簽
    • foreach標簽
  • JavaEE開發模式
    • 什麽是開發模式
    • JavaEE模式

EL表達式

什麽是EL表達式

  • EL(Express Lanuage)表達式可以嵌入在jsp頁面內部
  • 減少jsp腳本的編寫
  • EL出現的目的是要替代jsp頁面中腳本的編寫。

作用

? EL最主要的作用是獲得四大域中的數據
?

從四大域當中取數據
pageContext
${pageScope.key}
request
${requestScope.key}
session
${sessionScope.key}
application
${applicationScope.key}

簡寫
${EL表達式}
EL從四個域中獲得某個值${key}
依次從pageContext域,request域,session域,application域中獲取屬性
在某個域中獲取後將不在向後尋找

EL內置11對象

pageScope
    獲取JSP中pageScope域中的數據
requestScope
    獲取JSP中requestScope域中的數據
sessionScope
    獲取JSP中sessionScope域中的數據
applicationScope
    獲取JSP中applicationScope域中的數據
param
    request.getParameter()
paramValues
    rquest.getParameterValues()
header
    request.getHeader(name)
headerValues
    request.getHeaderValues()
initParam
    this.getServletContext().getInitParameter(name)
cookie  
    request.getCookies()---cookie.getName()---cookie.getValue()
pageContext
    pageContext獲得其他八大對象
    獲取當前項目的名稱
    ${pageContext.request.contextPath}

EL執行表達式

  • 內部可以進行運算,只要有結果
  • ${1+1}
  • ${empty user} 判斷user是否為空?為空返回true,不為空則返回false
  • ${user==null?true:false}

?

JSTL

什麽是JSTL

  • JSTL(JSP Standard Tag Library),JSP標準標簽庫
  • 可以嵌入在jsp頁面中使用標簽的形式完成業務邏輯等功能
  • jstl出現的目的同el一樣也是要代替jsp頁面中的腳本代碼

JSTL標準標簽庫有5個子庫

Core :核心庫
http://java.sun.com/jsp/jstl/core
前綴:c

I18N:國際化庫
http://java.sun.com/jsp/jstl/fmt
前綴:fmt

SQL
http://java.sun.com/jsp/jstl/sql
前綴:sql

XML
http://java.sun.com/jsp/jstl/xml
前綴:x

Functions
http://java.sun.com/jsp/jstl/functions
前綴:fn

把JSTL標簽庫jar包引入工程當中

? 引入標簽庫
? <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

if標簽

?

<c:if test="${1==1 }">滿足條件時,中間的內容才會顯示出來</c:if>
通過是結合EL表達式一起使用,EL從域中取數據,使用JSTL進行判斷或者遍歷

技術分享圖片

if標簽使用

1.登錄成功時,把用戶寫到session域當中

技術分享圖片

2.在首頁當中進行判斷,從session域當中取數據

3.通過EL結合JSTL進行判斷

技術分享圖片

foreach標簽

第一種:普通循環

技術分享圖片

第二種:增加for循環

遍歷字符串集合

技術分享圖片

遍歷對象集合

技術分享圖片

遍歷map

技術分享圖片

商品列表展示

技術分享圖片

JavaEE開發模式

什麽是開發模式

? 模式在開發過程中總結出的“套路”,總結出的一套約定俗成的設計模式

JavaEE模式

?

model1模式
    由 jsp+javaBean 技術組成
    弊端
        業務多時,導致jsp頁面容易混亂
model2模式
    由 jsp+servlet+javaBean 技術組成
    優點
        開發中使用各個技術擅長的方面
        servlet擅長java的業務代碼
        jsp擅長頁面的展示
     MVC
        Model--javaBean--封裝數據
        View--JSP--頁面展示
        Controller--servlet--獲取數據,對數據進行封裝,傳遞數據、指定頁面顯示
三層架構
    web層--與客戶端交互
    service層--復雜業務邏輯
    dao層--與數據庫進行交互

EL表達式 與 JSTL標準標簽庫