EL(Expression Language)表達式語言是在JSP 2.0版本中引入的新特性,它用於JSP文件中的數據訪問。這種表達式語言能簡化JSP文件中數據訪問的代碼,可用來替代傳統的基於"<%="和"%>"形式的Java表達式,以及部分基於"<%"和"%>"形式的Java程序片斷。數據庫
自定義JSP標籤是用來代替JSP中的Java程序片斷的有效途徑。大多數Web應用的JSP文件經常要實現一些通用的功能,好比重定向、文件包含、對日期和時間進行格式化輸出,以及訪問數據庫等,此外,這些JSP文件還要實現一些通用的流程控制邏輯,好比用if-else語句來進行條件判斷,再好比用while語句或for語句來進行循環操做。編程
爲了提升Web應用的開發效率,SUN公司制定了一組標準標籤庫的規範,這組標準標籤庫簡稱爲JSTL(JavaServer Pages Standard Tag Library)。jsp
El基本語法編程語言
從JSP 2.0版本開始引進的EL表達式語言是一種簡潔的數據訪問語言。經過它能夠在JSP文件中方便地訪問應用程序數據,從而替代傳統的基於"<%="和"%>"形式的Java表達式,以及部分基於"<%"和"%>"形式的Java程序片斷。開發
儘管這種EL表達式語言是JSP新版本的一個重要特性,但它並非一種通用的編程語言,它僅僅是一種數據訪問語言。get
EL表達式的基本形式爲:${var},全部表達式都以"${"符號開頭,以"}"符號結尾。若是在JSP文件的模板文本中使用EL表達式,那麼表達式的值會輸出到網頁上。io
例如以下Java表達式和EL表達式的做用相同,都用於輸出請求參數username:模板
<%=request.getParameter("username") %>class
${param.username}效率
比較以上兩種表達式的形式,能夠看出,EL語言使得JSP文件的建立人員(即網頁製做者)能用更加簡單的語法來訪問數據。
EL表達式和Java表達式同樣,既能夠直接插入到JSP文件的模板文本中,也能夠做爲JSP標籤的屬性的值,例如如下<jsp:setProperty>標籤的value屬性的值爲EL表達式${myPageBean. count+1}:
<jsp:useBean id="myPageBean" scope-"page" class="com.xdl.el.CounterBean" />
<jsp:setProperty name="myPageBean" property="count" value="${myPageBean.count+1" />
Current count values is : ${myPageBean.count}