老圖搬磚day10——EL+JSTL

2020-08-14 01:04:39

今天上午的時間都留給做昨天的題目了,所以今天的內容很少,也沒有課後作業。

10.1 EL

Expression language 表達式語言
可以簡化對變數或物件的存取
表達方式爲${變數或物件}

<%= request.getAttribute("error")==null? "" : request.getAttribute("error")%>

簡化爲

${error}
<body>
<%
	pageContext.setAttribute("name","Jack");
	request.setAttribute("name","Nancy");
	session.setAttribute("name","Noel");
	application.setAttribute("name","Lucy");
	
	Inf inf = new Inf();
	inf.setId(1);
	inf.setName("admin");
	inf.setPwd("123");

%>
//靜態文字
${"hello"}<br>
//輸出作用域中的變數:
${name} <br> //會先從page開始找,所以輸出Jack
//指定輸出某一類
${sessionScope.name}<br>
//輸出作用域的中的物件:
${requestScope.inf.name}<br>
${}
//EL中的算數符:
${3+9}   ${3+"9"} <br>//這兩個得到的結果都是12
//${3+"asf"} <br>//運算失敗
${3 div 5}  //0.6
//還可以寫關係運算
${3 > 5}  //false
${empty requestScope.name} <br>
//請求參數:
${param.info}<br>

10.2 JSTL

JSP Standard Tag Library
JSP 標準標籤庫
類似於:<jsp:forword/>

<c:set var="name" value="張三" scope="page"/>

相當於

<%--
          String str = "張三";
          pageContext.setAttribute("name",str);
      --%>