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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

EL表达式与JSTL简单入门

發布時間:2024/1/1 javascript 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 EL表达式与JSTL简单入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

更多博文請關注:聽到微笑的博客

EL概述

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

? ? ? ?簡單來說EL表達式就是讓程序員,簡化了代碼的書寫量。在學EL表達式之前我們必須通過<%= ? ? ?%>來取出域中的數據,但這種方式 ? ? ? ?過于繁瑣,所以就誕生了EL表達式。

EL取出JSP四大域對象中保存的數據

  • pageContext域:${pageScope.key};
  • request域:${requestScope.key};
  • session域:${sessionScope.key};
  • application域:${applicationScope.key};

EL從四個域中獲得某個值

? ? 寫法:${key};

? ? 例:如果在request域中存儲了一個名為"productList"的對象,我們不需要通過${requestScope.productList}取出相應的對象,只需要${productList}即可取出相應的對象。

? ?相當于pageContext.findAttribute()從pageContext域,request域,session域,application域中獲取屬性,在某個域中獲取后將不在向后尋找.

JSTL概述

? ? ?JSTL(JSP Standard Tag Library),JSP標準標簽庫,可以嵌入在jsp頁面中使用標簽的形式完成業務邏輯等功能。jstl出現的目的同el一樣也是要代替jsp頁面中的腳本代碼。JSTL標準標簽庫有5個子庫,但隨著發展,目前常使用的是他的核心庫。

JSTL五大子庫

? ??Core (核心庫)? 標簽庫的URI:http://java.sun.com/jsp/jstl/core ?常用前綴:c

? ??I18N(國際化)???標簽庫的URI:http://java.sun.com/jsp/jstl/fmt?常用前綴:fmt

????SQL?????????????????????標簽庫的URI:http://java.sun.com/jsp/jstl/sql ?常用前綴:sql

????XML ? ? ? ? ? ? ? ? ? ?標簽庫的URI:http://java.sun.com/jsp/jstl/xml?常用前綴:x

????Functions ? ? ? ? ? ?標簽庫的URI:http://java.sun.com/jsp/jstl/functions ?常用前綴:fn?

下載與導入

? ? 下載:Apache的網站下載JSTL的JAR包。進入“http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/”網址下載 JSTL的壓縮包。jakarta-taglibs-standard-1.1.2.zip

? ? 導入:解壓后在lib目錄下可以看到兩個JAR文件,分別為jstl.jar和standard.jar。其中,jstl.jar文件包含JSTL規范中定義的接口和相關類,standard.jar文件包含用于實現JSTL的.class文件以及JSTL中5個標簽庫描述符文件(TLD),將兩個文件導入項目中。

JSTL核心庫的使用

  • <c:if>標簽

? ? ? ? ? 1. 語法格式:

? ? ? ? ? ? ? ? ? ? ? ?<c:if? test="xxx"?? [var="xxx"]?? [scope="{page|request|session|application}"]? >

????? ????????????????????????????????? 執行體

? ? ? ? ? ? ? ? ? ? ? ?</c:if>

? ? ? ? ? ?2. 標簽屬性講解:

? ? ? ? ? ? ? ? ? ? ??test屬性:用于設置邏輯表達式,當邏輯表達式為true時執行執行體

? ? ? ? ? ? ? ? ? ? ? var屬性:用于指定邏輯表達式中變量的名字

???????????????????? ? scope屬性:用于指定var變量的作用范圍,默認值是page。

? ? ? ? ? ?3.用法案例:?

  • <c:forEach>標簽 ?

? ? ?兩種語法格式:

? ? ? ? ? ? ? ? 1.迭代集合對象:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??<c:forEach items="xxx" ? [var="xxx"] ? [varStatus="xxx"] ? [begin="xxx"] ? [end="xxx"] ? [step="xxx"]>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?循環體.....
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </c:forEach>

? ? ? ? ? ? ? ? ?2.迭代數組:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<c:forEach ? begin="xxx" ?end="xxx" ? [var="xxx"] ? [varStatus="xxx"] ? [step="xxx"]>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 循環體....
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?</c:forEach>

? ? 標簽屬性講解:

? ? ? ? ? ? ? ? 1.items屬性用于指定將要迭代的對象

? ? ? ? ? ? ? ??2.var屬性用于指 ?將當前迭代到的元素保存到page域中的名稱(可以通過${xxx}獲得對象)

? ? ? ? ? ? ? ? 3.varStatus屬性用于指定當前迭代狀態信息的對象保存到page域中的名稱

? ? ? ? ? ? ? ? ? ? ?? ? varStatus屬性可以獲取以下信息:

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? count:表示元素在集合中的序號,從1開始

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? index:表示當前元素在集合中的索引,從0開始

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?first:表示當前是否為集合中的第一個元素

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?last:表示當前元素是否為集合中最后一個元素 ? ? ? ??

?? ? ? ? ? ? ? ? 4.begin屬性用于指定從集合中的第幾個元素開始迭代,begin的索引值從0開始 ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ?5.step屬性用于指定迭代的步長,即迭代的增長因子

? ?用法案例:

? ? ? ? ? ? ?迭代集合對象:

? ? ? ? ? ? ? 迭代數組元素:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

總結

? ? ? ?在前端JSP頁面中會經常用到EL表達式,和JSTL標簽庫,EL表達式使得取出request域和其它域中數據變得極其方便,JSTL免去了<%= ? ?%>的繁瑣操作。我介紹的JSTL的兩個標簽是核心庫中最常用的兩個,它們兩個標簽可以解決大多數問題。當然JSTL標簽庫中的標簽遠不止這些,有興趣的小伙伴可以深入了解。

下面是博主的其他文章,喜歡的博友們點個關注,謝謝您的支持。

Java8 Lambda表達式入門

Validate插件的自定義驗證方法入門(結合Ajax實現用戶名的數據庫查重)

JSON轉換工具的使用

總結

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

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