1. 程式人生 > >【java學習之旅】——JSTL+EL表示式讓jsp頁面簡潔化

【java學習之旅】——JSTL+EL表示式讓jsp頁面簡潔化

【前言】

jsp2.0之後,頁面上幾乎不使用Java指令碼了,其實不難理解,因為在計算機中程式分工越來越明確,三層,mvc的使用都是程式劃分層次結構的產物,jsp只能用做頁面的顯示,所以JSTL標籤庫和EL表示式應運而生,他們的作用沒有<%%>強大,但正是規範使用jstl和el表示式才限制了不能jsp頁面不能參與邏輯運算,單一的做頁面的顯示。

【內容】

表示式語言EL:


1.使用EL表示式不需要引入任何jar包,只要jsp/servlet容器實現了J2EE1.4/Servlet2.4,JSP2.0規範就可以。語法:${};
2.基本使用:
servlet中設定:

/**
 * 測試JSTL的el標籤庫
 * @author cyl520
 *
 */

public class JstlServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
       request.setAttribute("hello", "北京歡迎你!");
       request.setAttribute("welcome"
,"<font color='red'>歡迎您來到這個世界</font>); request.setAttribute("v1",10); request.setAttribute("v2",20); request.getRequestDispatcher("/jstl_el.jsp").forward(request, response); } }


jstl_el.jsp的獲取方式:

一.常規方式
 <%=request.getParameter("username")%>
二. el表示式:

  1
.獲取值的方式:${username}; ${welcome}_只能獲取紅色字型(歡迎您來到這個世界) 2.設定從指定的範圍內獲取值:${requestScope.hello} 3.沒有值會自動設定為空的字串:${sessionScope.hello}

JSTL:

  1. 它是SUN的標準的taglib庫, 全稱是(Jsp Standard Tag Library),它封裝了jsp應用的通用核心功能,標籤庫中隱含了el表示式。
  2. 作用:
    ①.迭代和條件判斷
    ②.資料管理格式化
    ③.xml操作
    ④.資料庫訪問(一般不使用,因為頁面只做顯示)
    ⑤.函式標籤庫
  3. JSTL的標籤庫分為了五種型別:

    核心標籤(c):最常用的標籤庫

    格式化標籤(fmt):STL格式化標籤用來格式化並輸出文字、日期、時間、數字。

    sql標籤(sql):JSTL SQL標籤庫提供了與關係型資料庫(Oracle,MySQL,SQL Server等等)進行互動的標籤;

    xml標籤(x):JSTL XML標籤庫提供了建立和操作XML文件的標籤;需要將xml和xpath的相關包拷貝到你的tomcat安裝的目錄\lib下;

    JSTL函式(fn):JSTL包含一系列標準函式,大部分是通用的字串處理函式

  4. 基本配置使用:
    在jsp頁面上引入核心標籤庫:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>   <!--核心標籤庫>

1.在頁面上顯示資料:<c:out value="123"/>
2.通過內建的el表示式獲取request中的值:<c:out value="${hello}"/>
3.在jstl標籤中沒有值可以隨意設定值:<c:out value="${hello123} "defalut="沒有值">
4.設定html字串樣式出現與否(escapeXML):<c:out value="${welcom3}" escapeXML="false"></c:out>  ——出現紅色字型的樣式
<c:out value="${welcome}" escapeXML="true"></c:out> ——取消紅色字型的樣式;
5.採用c:set設定值  <c:set value="root" var="userid"/>
userid:${userid}
6.簡單if判斷 <c:if test="${v1 lt v2}">v1小於v2</c:if>
。。。。。。。。。。。。。。。。。。。。。。。。。

【總結】
單純的使用el表示式,只能進行相應的資料的顯示,並不能對頁面的數值設定,並且進行簡單的if判斷;但是JSTL標籤庫+EL表示式擴充套件了el表示式功能,使jsp頁面顯示更加簡潔!