JavaWeb12-HTML篇筆記(二)
阿新 • • 發佈:2018-05-28
Java
pageContext.setAttribute("n3", "30");
pageContext.setAttribute("n4", "40");
%>
${ n1 + n2 + n3 }
<h3>EL執行邏輯運算</h3>
${ n1 < n2 } - ${ n1 lt n2 } <!-- less than --><br/>
${ n1 > n2 } - ${ n1 gt n2 } <!-- great than --><br/>
${ n1 <= n2 } - ${ n1 le n2 } <!-- less equal --><br/>
${ n1 >= n2 } - ${ n1 ge n2 } <!-- great equal --><br/>
${ n1 == n2 } - ${ n1 eq n2 } <!-- equal --><br/>
<h3>EL執行關系運算</h3>
${ n1<n2 && n3 < n4 } - ${ n1<n2 and n3 < n4 }<br/>
${ n1<n2 || n3 < n4 } - ${ n1<n2 or n3 < n4 }<br/>
${ !(n1 < n2) } - ${ not(n1<n2) }
<h3>EL執行三元運算</h3>
${ n1 < n2 ? "正確":"錯誤" }
<h3>empty運算</h3>
${ user == null } - ${ empty user }
${ user != null } - ${ not empty user }
【EL操作WEB開發的常用對象11個】
<h1>EL功能三:操作WEB開發常用的對象</h1>
<!--
pageScope,requestScope,sessionScope,applicationScope - 獲取JSP中域中的數據
param,paramValues - 接收參數.
header,headerValues - 獲取請求頭信息
initParam - 獲取全局初始化參數
cookie - WEB開發中cookie
pageContext - WEB開發中的pageContext.
-->
<h3>接收請求的參數</h3>
<%= request.getParameter("id") %>
<%= request.getParameter("name") %>
<%= Arrays.toString(request.getParameterValues("hobby")) %>
<hr/>
${ param.id }
${ param.name }
${ paramValues.hobby[0] }
${ paramValues.hobby[1] }
<h3>獲取請求頭</h3>
<%= request.getHeader("User-Agent") %>
<hr/>
${ header["User-Agent"] }
<h3>獲取全局初始化參數</h3>
${ initParam.username }
<h3>獲取Cookie中的值</h3>
${ cookie.history.value }
<h3>獲取PageContext中的對象</h3>
IP地址:${ pageContext.request.remoteAddr }
工程路徑:${ pageContext.request.contextPath
``` }
1.1.1.1 JSTL
【JSTL的概述】
? 什麽是JSTL:
![](http://i2.51cto.com/images/blog/201805/28/2d62e28f5adfc7371a3730ecca4ea715.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
? 為什麽學習JSTL:
- JSTL和EL結合 替換頁面中<%%>
? JSTL版本: - JSTL1.0 :不支持EL表達式.
- JSTL1.1 和 1.2 :支持EL表達式.
? JSTL的標簽庫:包含了五類標簽. - core(核心標簽),fmt(國際化標簽),xml(XML標簽),sql(SQL標簽),fn(JSTL提供EL函數庫)
? 使用JSTL: - 引入JSTL的相關的jar包.
- 在頁面中引入標簽庫.<%@ taglib uri=”” prefix=””%>
【JSTL的核心標簽的用法】 - if
- forEach
【JSTL的提供EL的函數庫】
<h1>JSTL提供的EL的函數庫</h1>
${ fn:length("HelloWorld") }
${ fn:toLowerCase("ABCDE") }
<c:forEach var="i" items=‘${ fn:split("a-b-c-d","-") }‘>
${ i }
</c:forEach>1.1.1 代碼實現:1.1.1.1 創建數據庫:
CREATE TABLE `product` ( `pid` varchar(32) NOT NULL, `pname` varchar(50) DEFAULT NULL, `market_price` double DEFAULT NULL, `shop_price` double DEFAULT NULL, `pimage` varchar(200) DEFAULT NULL, `pdate` date DEFAULT NULL, `is_hot` int(11) DEFAULT NULL, `pdesc` varchar(255) DEFAULT NULL, `pflag` int(11) DEFAULT NULL, `cid` varchar(32) DEFAULT NULL, PRIMARY KEY (`pid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1.1.1.2 頁面顯示:
<c:forEach var="p" items="${list }">
<tr>
<td>${ p.pid }</td>
<td>${ p.pname }</td>
<td>${ p.shop_price }</td>
<td>
<c:if test="${ p.is_hot == 1 }">
是
</c:if>
<c:if test="${ p.is_hot != 1 }">
否
</c:if>
</td>
<td>${ p.pdesc }</td>
</tr>
</c:forEach>
JavaWeb12-HTML篇筆記(二)