【java學習之旅】——JSTL+EL表示式讓jsp頁面簡潔化
阿新 • • 發佈:2019-02-20
【前言】
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:
- 它是SUN的標準的taglib庫, 全稱是(Jsp Standard Tag Library),它封裝了jsp應用的通用核心功能,標籤庫中隱含了el表示式。
- 作用:
①.迭代和條件判斷
②.資料管理格式化
③.xml操作
④.資料庫訪問(一般不使用,因為頁面只做顯示)
⑤.函式標籤庫 JSTL的標籤庫分為了五種型別:
核心標籤(c):最常用的標籤庫
格式化標籤(fmt):STL格式化標籤用來格式化並輸出文字、日期、時間、數字。
sql標籤(sql):JSTL SQL標籤庫提供了與關係型資料庫(Oracle,MySQL,SQL Server等等)進行互動的標籤;
xml標籤(x):JSTL XML標籤庫提供了建立和操作XML文件的標籤;需要將xml和xpath的相關包拷貝到你的tomcat安裝的目錄\lib下;
JSTL函式(fn):JSTL包含一系列標準函式,大部分是通用的字串處理函式
- 基本配置使用:
在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頁面顯示更加簡潔!